I have this code to start 4 prog in 4 separate threads. however 2 of
the ibScans and
emailProcessing threads are not even starting. dunno why.
ibScans and emailProcessing are not even starting and i dont see the
puts hitting it at all.
#require ‘sendmail’
require ‘twsFunctions’
require ‘sendGmail’
def startIB
@ibThread=Thread.new do
system(“start E:\TradingTools\IBController
\IBControllerStart_customised.bat”)
end
@ibThread.join
puts "ib started #{ @ibThread.status}"
end
def ibScans
@ibScansThread=Thread.new do
load ‘twsScans.rb’
end
@ibScansThread.join
puts “ib scans started #{ @ibScansThread.status}”
end
def abScans
@abScansThread =Thread.new do
load “ABScans.rb”
end
@abScansThread.join
puts “ab scans started #{ @abScansThread.status}”
end
def emailProcessing
@emailThread=Thread.new do
while true
load 'ScansNotifier.rb'
sleep(30)
end
end
end
startIB
abScans
ibScans
emailProcessing
On Jan 3, 2008, at 1:05 PM, Junkone wrote:
emailProcessing threads are not even starting. dunno why.
unless you have a very good reason not too always put
Thread.current.abort_on_exception
at the top of every Thread.new block
if you don’t see an exception getting raise then one of two things is
happening:
- the threads are blocked somehow
- you have blocked on the threads
i notice you are joining the thread in startIB - do you realize this
is exactly like not using a thread at all? why are you joining
that thread?
unless “start E:\TradingTools\IBController
\IBControllerStart_customised.bat” exits instantly you are
instructing your program to wait until it finished before continuing.
regards.
a @ http://codeforpeople.com/
On Jan 3, 4:37 pm, “ara.t.howard” [email protected] wrote:
if you don’t see an exception getting raise then one of two things is
\IBControllerStart_customised.bat" exits instantly you are
instructing your program to wait until it finished before continuing.
regards.
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama
you mean like
@abScansThread =Thread.new do
Thread.current.abort_on_exception
load "ABScans.rb"
end
or like this
Thread.current.abort_on_exception
@abScansThread =Thread.new do
load “ABScans.rb”
end