我一直使用事件和侦听器来向队列添加任务。现在我尝试使用作业。我这样做:我的工作
class eventJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $message;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($message)
{
$this->message = $message;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Log::alert($this->message);
}
}
我的.env文件:QUEUE_CONNECTION=database
在我的控制器中,我这样分派事件:eventJob::dispatch('my message');
jobs表中出现一条新记录,为了执行它,我运行php artisan queue:work
。该记录将从jobs表中删除,但文件日志中不显示任何内容
我尝试在handle方法和构造函数中执行throw new \Exception("Error Processing the job", 1);
,但是filed_jobs表中没有写入任何内容,我从该表中假设handle方法和构造函数不执行。我还尝试如下运行我的作业:$job = new eventJob('my test message'); dispatch($job);
但这并不能改变什么
1条答案
按热度按时间z0qdvdin1#
我不知道为什么,但当我改变config/queue.php文件从
'default' => env('QUEUE_CONNECTION', 'sync')
到'default' => env('QUEUE_CONNECTION', 'database')
一切都开始工作,因为它应该