我有一个类 XYJob,它由 artisan 命令创建并实现了ShouldQueue类。.env 文件中的 QUEUE_DRIVER=redis。
问题是当我调度作业时,它作为一个简单的 php 函数运行。队列侦听器未运行,但作业作为简单函数运行。
它是 laravel 5.8 应用程序,带有 predis/predis: ^1.1。我试图清除缓存和配置。我曾尝试使用作曲家转储自动加载。
namespace Modules\ModuleName\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class XYJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
\Log::info('Job is running');
}
}
Laravel 文档说:
生成的类将实现 ShouldQueue 接口,向 Laravel 指示应将作业推送到队列中以异步运行。
但我的工作肯定在进行。