我尝试将新作业从控制器添加到队列中:
class SaveController extends Controller
{
public function save(Request $request, Queue $queue)
{
$q = $queue->pushOn('getSent', new \App\Jobs\SomeJobs('hello'));
return $q;
}
}
但我发现错误:
lumen.ERROR: exception 'Illuminate\Container\BindingResolutionException' with message 'Target [Illuminate\Queue\Queue] is not instantiable.' in /var/www/lumenlocal/lumen/vendor/illuminate/container/Container.php:785
怎么了?
答案 0 :(得分:0)
注意:如果您打算使用队列外观,请务必取消注释
$app->withFacades()
拨打bootstrap/app.php
文件。
答案 1 :(得分:0)
$ data = [' hello'];
Queue :: pushOn(' getSent',' \ App \ Jobs \ SomeJobs',$ data);
这应该在jobs表中创建一条记录:
{" job":" \ App \ Jobs \ SomeJobs"," data":[' hello']} - 或类似。
然后只需确保在调用工作进程时指定要使用的队列,在这种情况下是' getSent'
答案 2 :(得分:0)
需要使用合同:
use Illuminate\Contracts\Queue\Queue;
https://laracasts.com/discuss/channels/lumen/add-queue-from-controller