Rufus :: Scheduler join не может выйти в ruby - PullRequest
0 голосов
/ 14 января 2011

Я использую 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 ]

2 голосов
/ 14 января 2011

Планировщик предназначен для запуска «навсегда».Вызов «join» присоединяет поток планировщика и завершается только тогда, когда поток умирает.

Вы должны пересмотреть свой код, вы пытаетесь использовать молоток как отвертку.

0 голосов
/ 18 февраля 2011

Использование простой нити может достигнуть требования.

...