我正在使用state_machine gem和rufus-scheduler gem。狀態機工作正常。然而,Rufus調度器不是。我正在構建這個程序只是爲了適應rufus寶石。 10秒後:接受過渡到:兩者,它應該然後過渡到:only_employer。但是,由於某種原因rufus-scheduler不起作用。過渡到:兩者都有效,但不會過渡到:only_employer。我該如何解決?謝謝。rufus-scheduler gem不能在rails中工作
class Schedule < ActiveRecord::Base
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
def set_schedule
scheduler.in '10' do #documentation says this should be 10 seconds
self.change_to_done
end
end
state_machine :accepted, :initial => :none do
after_transition :any => :both, :do => :set_schedule
event :change_to_done do
transition :both => :only_employer
end
end
end
將scheduler.join添加爲set_schedule方法中的最後一條語句。順便說一句,我認爲你不應該用這種方式使用rufus調度器 – Aguardientico
謝謝,添加它,但它沒有奏效。我查看了文檔,但無法弄清楚'scheduler.join'應該做什麼。你介意解釋一下嗎? – Philip7899
'scheduler.join'使當前線程加入調度程序線程。這不是你想要的。 'scheduler.join'用於獨立腳本,而不是通過Rails或Sinatra運行的代碼。 – jmettraux