从 php 调用 Artisan 队列重试

Calling Artisan Queue Retry from php

我在从 php 调用 artisan 队列时遇到问题。 我想在 Beanstalkd 队列中列出失败的作业并制作一个重试按钮。

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

所以,我把这段代码放在 route.php

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

它return错误

InvalidArgumentException' with message 'Command "queue:retry 12" is not defined.

Did you mean one of these? queue:retry queue:forget queue:failed-table queue:flush queue:failed queue:listen queue:subscribe queue:work'

谁能帮帮我? 谢谢

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

更新:(感谢下面@BakerStreetSystems 的回答)

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

我刚刚尝试了 limonte 的回答,虽然它非常接近我的需要,但我注意到 RetryCommand.php 期望 id 值是一个数组,所以你需要有一个嵌入式像这样的数组:

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