Как эмулировать кнопку повтора сейчас в сидеки - PullRequest
0 голосов
/ 01 июня 2018

Используя Sidekiq v5.1.3, у меня есть сценарий, в котором пользователю в идеале должно быть разрешено вручную повторять неработающее задание из «морга» через пользовательскую панель управления.

Я определенно могу сделать это, используя «Повторите попытку "из собственного веб-интерфейса Sidekiq под вкладкой" мертвые ", но я не могу понять, как вызвать это программно из моего собственного приложения.

Поскольку в документах прямо указано, что:

Веб-интерфейс использует исключительно API - все, что вы можете сделать в пользовательском интерфейсе, может быть написано с помощью API.

Мне было интересно, как это сделать, используя идентификатор задания или любую другую информацию...

1 Ответ

0 голосов
/ 02 июня 2018

Используя Sidekiq::DeadSet, это возможно.

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

Sidekiq::DeadSet.new.to_a

Это вернет массив Sidekiq::SortedEntry экземпляров, которыйвы можете запустить #retry on.

Или вы можете посмотреть на один jid, если он у вас есть:

job = Sidekiq::DeadSet.new.find_job('02df57719b59ab3a2b3ca3f8')
job.retry

Это часть Sidekiq API.

...