2015-07-24 3 views
3

Как я могу вернуть задание обратно в очередь.Как отложить работу до последней очереди в Laravel Beanstalk?

Я устал

$job->release() 

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

+0

Удалите задание и отпустите его как новое задание. – Bogdan

+0

Есть ли другое решение, например $ job-> release()? –

+0

Существует параметр приоритета, который можно использовать для выпуска, но задание Laravel ['release'] (https://github.com/laravel/framework/blob/5.1/src/Illuminate/Queue/Jobs/BeanstalkdJob.php# L84-L91) не предлагает никакого способа его передачи. Он просто использует константу приоритета по умолчанию 'Pheanstalk :: DEFAULT_PRIORITY', которую он получает из [Pheanstalk] (https://github.com/pda/pheanstalk) (пакет, который он использует для обработки очередей Benastalk). Поэтому, если вы хотите иметь возможность обрабатывать более конкретные свойства очередей, вместо этого вы должны использовать Pheanstalk. – Bogdan

ответ

0

Вы можете создать исключение, из-за которого выполняются задания.

И в зависимости от того, сколько пытается очереди: работа будет срабатывать, работа будет в конечном счете, в конечном итоге в таблице failed_jobs (если у вас есть, что определено.)

Вы можете нажать на работу обратно в очередь из таблицы failed_jobs.

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