2015-03-31 26 views
2

我有关于从PHP调用工匠队列的问题。 我想让Beanstalkd队列中的失败作业列表,并让一个按钮重试。从php调用工匠队列重试

我想打电话给php artisan queue:retry{id}

于是,我把这个代码在route.php

Route::get('retry/{id}', function($id){ 
    Artisan::call("queue:retry $id"); 
}); 

,并返回错误

InvalidArgumentException '有消息' 命令“队列:重试12“未定义为 。

你是指其中之一? 队列:重试 队列:忘记 队列:失败表 队列:冲水 队列:失败 队列:听 队列:订阅 队列:工作”

任何一个可以帮助我吗? 感谢

回答

3

Artisan::call('queue:retry', ['id' => $id]);

更新:(感谢以下@ BakerStreetSystems的答案)

Artisan::call('queue:retry', ['id' => [$id]]); 
6

我只是想limonte的答案,但它是非常接近我所需要的,我注意到, RetryCommand.php预计值id值是一个数组,因此您需要具有像这样的嵌入式数组:

Artisan::call('queue:retry', ['id' => [$id]]); 
+1

这个答案是正确的,绝对不是有趣的排除故障。 https://github.com/laravel/framework/blob/5.2/src/Illuminate/Queue/Console/RetryCommand.php#L30-L41 https://github.com/laravel/framework/blob/5.2 /src/Illuminate/Queue/Console/RetryCommand.php#L94 – lasec0203 2017-10-10 21:14:56