Rufus :: Scheduler join最终无法在ruby中退出

时间:2011-01-14 07:37:42

标签: ruby scheduled-tasks rufus-scheduler

我使用Rufus :: Scheduler来安排任务,代码如下:

class Scheduler
  def self.run
    scheduler = Rufus::Scheduler.start_new
    job = scheduler.in '5s', A.new
    scheduler.join
  end
  class A
    def call(job)
      puts "xxxxxx"
    end
  end
end
Scheduler.run

运行代码后,它打印'xxxx',但在运行调用方法后,连接无法自行退出并始终挂起。

有没有办法在等待完成工作后退出连接?谢谢你。

2 个答案:

答案 0 :(得分:2)

调度程序意味着“永远”运行。调用“join”加入调度程序线程,仅在线程死亡时退出。

你应该重新考虑你的代码,你正试图像锤子一样使用锤子。

答案 1 :(得分:-3)

使用普通线程可以达到要求。