rufus ::スケジューラの結合は、rubyで最後に終了できません
-
11-10-2019 - |
質問
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
プレーンスレッドを使用すると、要件に到達できます。
他のヒント
スケジューラは「永遠に」実行することを目的としています。 「結合」を呼び出すと、スケジューラスレッドに参加し、スレッドが死んだときにのみ終了します。
コードを再考する必要があります。ドライバーのようなハンマーを使用しようとしています。
所属していません StackOverflow