如何在ruby on rails中实现多线程?以及获取线程以杀死或唤醒它的方法是什么



我的问题是:我有一个作业表,每个作业都会启动一个线程。在这些线程中,他们进行一些处理并发送短信,等待2分钟。这是最长时间。现在,如果用户响应短信,那么我想中断相应的线程来完成其余的处理。

那么,有什么东西可以让我从列表中按名称或id找到线程吗?

我想你可以参考这个答案在Ruby 中制作计时器

user_input = Thread.new do
  print "Enter something: "
  Thread.current[:value] = gets.chomp
end
timer = Thread.new { sleep 3; user_input.kill; puts }
user_input.join
if user_input[:value]
  puts "User entered #{user_input[:value]}"
else
  puts "Timer expired"
end

如果计时器已过期,则将其发送给下一个人。

最新更新