我尝试完成一个简单的工作,就像Laravel文档中的示例一样 - https://laravel.com/docs/5.2/queues#writing-job-classes - 但我收到此错误:"没有为命令注册的处理程序[应用程序\作业\ SendReminderEmail]".
我按照说明制作了jobs表,甚至是failed_jobs表,并且有完整的示例代码.
我保证handle()函数在那里,所以我不知道还有什么可以丢失.
问候.
使用代码更新:
首先我在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);
}
}
Run Code Online (Sandbox Code Playgroud)
为了调用这个作业,我在一个调度作业的控制器中创建了一个简单的方法:
$job = (new SyncFromJson())->delay(3); …Run Code Online (Sandbox Code Playgroud)