2015-11-22 2 views
0

Я запланированная работуUpdate арг из запланированного задания

Worker.perform_at(time, args) 

И я могу принести запланированные задания

job = Sidekiq::ScheduledSet.new.find_job(jid) 
job.args # this is the args I passed above 

мне нужно обновить args, которая будет передана работнику при его вызывается, то есть обновляется job.args. Как мне это сделать?

Это не будет работать:

job.args = new_args 
Sidekiq::ScheduledSet.new.to_a[0] = job 

ответ

1

Ну обновить задача не способ ее достижения отменить работу и создавать новые с новыми аргументами:

job = Sidekiq::ScheduledSet.new.find_job(jid) 
## time = job.time // Or just set time needed. 
Sidekiq::Status.cancel jid 

Worker.perform_at(time, new_args) 

это также облегчит вы должны отлаживать и регистрировать задания, потому что, когда вы редактируете или обновляете их на лету, вы можете обнаружить ошибки, которые очень трудно идентифицировать.

Смежные вопросы