質問

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

プレーンスレッドを使用すると、要件に到達できます。

他のヒント

スケジューラは「永遠に」実行することを目的としています。 「結合」を呼び出すと、スケジューラスレッドに参加し、スレッドが死んだときにのみ終了します。

コードを再考する必要があります。ドライバーのようなハンマーを使用しようとしています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top