私は、アプリケーションのコントローラの先頭に次を置くことによって、私のスレッドを固定してしまった:
def check_logout
previous_user = {}
loop {
x = User.logged_in
active_user = {}
x.each { |a|
active_user[a[:login]] = a[:login]
previous_user[a[:login]] = a[:login]
}
puts "active = #{active_user}"
previous_user.each { |key,value|
if active_user[key] == nil then
puts "Login timeout for #{value}"
InternalLog.notify_msg("Login timeout for #{value}")
previous_user.delete(key)
end
}
sleep(30)
}
rescue => e0
puts "WORKER THREAD RESCUE"
puts e0
exit end
if $BACKGROUND_THREAD == nil then
$BACKGROUND_THREAD = Thread.new do
check_logout
end
end
私はいけない申し訳ありませんが、私のフォーマットが台無しにされた理由を理解しているようです(固定)。 –