Some threads are not starting

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.

a @http://codeforpeople.com/

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