我尝试完成一个简单的工作,就像Laravel文档中的示例一样 - https://laravel.com/docs/5.2/queues#writing-job-classes - 但我收到此错误:"No handler registered for command [App\Jobs\SendReminderEmail]" .
我按照说明制作了jobs表,甚至是failed_jobs表,并且有完整的示例代码 .
我保证handle()函数在那里,所以我不知道还有什么可以丢失 .
问候 .
Update with code :
首先我在Laravel示例中使用了该类,但后来我将其简化为:
<?php
namespace App\Jobs;
use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class SyncFromJson extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//
$var = "fooooo";
\Log::info("job is running!!!", $var);
}
}
为了调用这个作业,我在一个调度作业的控制器中创建了一个简单的方法:
$job = (new SyncFromJson())->delay(3);
$this->dispatch($job);
也试过这个: $this->dispatch(new SyncFromJson());
2 回答
对于它的 Value ,我遇到了类似的问题,实施'SelfHandling'似乎解决了这个问题 .
尝试改变这个:
对此:
我有同样的问题 . 在我的情况下,原来是应用程序配置中的错误提供程序是问题 . 我使用以前的项目作为我的新项目的框架并继承了Laravel集合总线包(这不是必需的 . )当我删除集合总线包(laravelcollective / bus)时,运行composer update并替换
集体\ Bus 车\ BusServiceProvider ::类,
同
照亮\ Bus 车\ BusServiceProvider ::类,
一切正常 . 这可能是一个类似的问题?