Попытка реализовать какую-то функцию отмены работы. Для того, чтобы destroy a job with Resque, нужны конкретные аргументы, переданные ему. Похоже, я ошибочно передаю непреднамеренную информацию.ActiveJob с Resque: enqueuing jobs with uninteded arguments
Я ожидаю только значение аргументов, чтобы быть в пределах внешних скобок. Я создаю работу так:
PhysicalServerProvisionJob.perform_later('123')
Я хотел бы быть в состоянии:.
Resque::Job.destroy(:default, PhysicalServerProvisionJob, '123')
Однако это не представляется возможным из-за дополнительной информации, переданной в случае, если это неизбежно , есть ли другой способ уничтожить конкретную задание в очереди?
Это не будет работать, если у меня есть более чем одну работу одного и того же класса в одной очереди. – Jerrod
@Jerrod Я думаю, что подход все равно будет работать, вам просто нужно будет добавить дополнительные условия на 'job.args'. В этом примере я только проверяю 'job.args' для имени класса, но вы можете фильтровать на основе чего-либо в этом хеше. – Jared