Установка времени ожидания в отложенном задании

Хорошо, простой вопрос. Я хочу изменить время сна для моего отложенного работника. Как это сделать в текущей версии?

Я нашел два предложения для этого:

Delayed::Worker.const_set("SLEEP", sleep_time_in_seconds)

а также

Delayed::Worker.sleep_delay = sleep_time_in_seconds.

Какая разница между этими двумя?

Спасибо


person shime    schedule 21.12.2011    source источник


Ответы (1)


Это зависит от того, какую версию delayed_job вы используете. Если вы используете версию tobi (https://github.com/tobi/delayed_job), вам следует установить константа:

Delayed::Worker.const_set('SLEEP', sleep_time_in_seconds)

Если вы не знаете, какую версию вы используете, скорее всего, это версия tobi (вы можете проверить файл delayed_job.gemspec в каталоге вашего плагина, чтобы подтвердить это; он будет иметь что-то вроде s.homepage = <git-page-of-your-version>).

Если вы используете версию collectiveidea (https://github.com/collectiveidea/delayed_job), вам следует использовать установщик атрибутов:

Delayed::Worker.sleep_delay = sleep_time_in_seconds

Если вы используете другую версию, обратитесь к README для этой версии.

person Ben Lee    schedule 21.12.2011