Meu listener está sendo chamado duas vezes, mas o evento só é disparado uma vez.
Eu copiei a base do código da documentação do Lumen 5.7 e aparentemente está tudo configurado corretamente. Não consigo encontrar o problema.
bootstrap/app.php
$app->register(App\Providers\EventServiceProvider::class);
app/Providers/EventServiceProvider.php
protected $listen = [
'App\Events\NewAuthEvent' => [
'App\Listeners\SendNewAuthListener',
],
];
app/Events/NewAuthEvent.php
use Illuminate\Queue\SerializesModels;
use App\Data\Entity\User;
use App\Data\Entity\Authorization;
use Illuminate\Support\Facades\Log;
class NewAuthEvent
{
use SerializesModels;
public $user;
public $auth;
public function __construct(User $user, Authorization $auth)
{
Log::debug("Disparado uma vez");
$this->user = $user;
$this->auth = $auth;
}
}
app/Listeners/SendNewAuthListener.php
use App\Events\NewAuthEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\Data\Service\MessengerService;
use Illuminate\Support\Facades\Log;
class SendNewAuthListener
{
private $messenger;
public function __construct(MessengerService $messenger)
{
Log::debug("Chamado duas vezes");
$this->messenger = $messenger;
}
public function handle(NewAuthEvent $event)
{
Log::debug("Chamado duas vezes também");
$this->messenger->new($event->user, $event->auth);
}
}
Disparando o evento:
event(new NewAuthEvent($objUser, $objAuthorization));
Estou me esquecendo de algum parâmetro ou configuração? Agradeço desde já!