我必须使用处理两个并行作业的脚本。Ruby中的线程循环
剧本基本上预示了两个循环:
loop do
# do something
sleep 5
end
loop do
# do something else
sleep 10
end
所以,我想过要离开一个线程中的第一个循环,所以它运行并排与第二环。
我想是这样的:
Thread.new do
loop do
# do something
sleep 5
end
end
loop do
# do something else
sleep 10
end
第一个循环会读取相关信息从Memcached的(通过达利宝石),并调用另一个类做了一些工作,但似乎不起作用properlty,不是我的方式预期:脚本锁定并不执行线程内的代码。
的问题,我认为它是因为我有两个循环之前创建一个连接:
@connection = ActiveRecord::Base.connection.raw_connection
这种连接是通过第一循环使用的线程内,并通过第二循环。
那么,是否有一种安全的方式来创建这个作业同时运行?
线程是一种在我公司tabboo的,我试图改变这种:(
非常感谢!
>但似乎不起作用properlty,不是我的方式预期。 你能更具体吗?什么是不正确的方式? – nattfodd
@nattfodd,对不起,添加了一些更多的信息。 –