我有一个名为EmailReceived的事件,当我的一条路线被Mailgun击中时会触发,我有一个名为ProcessEmail的侦听器,该侦听器从电子邮件中解析出一些信息,这部分工作正常。
我创建了另一条路由,以一行代码重新处理电子邮件以触发该事件,并且未调用侦听器。
我已将日志记录添加到每个事件中,这样我就可以查看正在击中的事件和未击中的事件。
// From my EventService Provider
protected $listen = [
EmailReceived::class => [
ProcessEmail::class
],
];
// My processEmail listener
public function handle(EmailReceived $event)
{
Log::info("Handling event ProcessEmail");
}
// My routes file
Route::get('incomingEmail/{email}/reprocess', 'InboundEmailController@reprocess');
Route::post('incomingEmail', 'InboundEmailController@receive');
// My controller methods
public function receive()
{
$e = new InboundEmail;
Log::info(request()->all());
$e->content = request()->all();
$e->save();
Log::info("Firing event EmailReceived from receive");
event(new EmailReceived($e));
}
public function reprocess(InboundEmail $e)
{
Log::info("Firing Event EmailReceived from reprocess");
event(new EmailReceived($e));
return redirect()->back();
}
答案 0 :(得分:0)
在使用望远镜进行进一步调查时,我可以看到两种方法都触发了我的事件,但是我的监听器没有针对两种方法都运行,其他一些日志使我觉得它正在运行。
我的听众正在排队,而且我没有工人在奔跑。