Pya*_*ein 2 php laravel laravel-5 laravel-5.1 laravel-queue
我使用 laravel 5.1 Queue 作为我的异步后台功能。但我只想运行该功能 1 次。如果该功能失败,我想做其他过程。我如何检测我的工作是否失败?我做得对还是错?我应该改变什么?ps:我是初学者。我在我的控制器中这样使用。
$job = new myjob($var1, $var2);
$this->dispatch($job);
$job->release();
if ($job->attempts() >= 1)
{
$job->delete();
//will do other process
}
Run Code Online (Sandbox Code Playgroud)
您应该使用--tries带1值的参数,例如:
php artisan queue:work --tries=1
Run Code Online (Sandbox Code Playgroud)
这将只运行每个任务一次,并且在失败时不会重复它。