[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Marcelo Gomes
Criador Marcelo Gomes 05/04/2023

Eu implementei o que foi explicado anotando os exemplos.

Os eventos são disparados, mas quando tento usar broadcast + queue o resultado não pe o mesmo da aula Aula 3 modulo backend broadcast.

 

Consegue me ajudar a entender o que eu fiz errado?

 

Veja meu projeto no git

https://github.com/mclgms/especializa-socket-io

 

Eu tive que fazer ajustes no .env mas mesmo assim nada:

.env

BROADCAST_DRIVER=redis
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120


l

Manager Carlos Ferreira 05/04/2023

Olá, Marcelo!
Como vai?

Tem um print do eventos no laravel-echo-server?
Preciso ver os logs para conseguir te ajudar.

Carlos Ferreira
Criador Marcelo Gomes 05/04/2023

Carlos

Segue o print

 % laravel-echo-server start

 

L A R A V E L  E C H O  S E R V E R

 

version 1.6.3

 

⚠ Starting server in DEV mode...

 

✔  Running at localhost on port 6001

✔  Channels are ready.

✔  Listening for http events...

✔  Listening for redis events...

 

Server ready!

 

Marcelo Gomes
Manager Carlos Ferreira 05/04/2023

Tem um print de quando o evento é disparado, acontece algo? (https://uploaddeimagens.com.br/)

Carlos Ferreira
Criador Marcelo Gomes 05/04/2023

Carlos

Eu usei a implementação sugerida para não usar filas: interface  class PostCreated implements ShouldBroadcastNow

Abaixo o resultado do processaemtno, onde eu uso o var_dump()

 

/**
* Handle the event.
*/
public function handle(PostCreated $event): void
{
var_dump($event);
}
Resutlado na tela "sucesso"
object(App\Events\PostCreated)#1255 (2) { ["post"]=> object(App\Models\Post)#1043 (30) { ["connection":protected]=> string(6) "sqlite" ["table":protected]=> string(5) "posts" ["primaryKey":protected]=> string(2) "id" ["keyType":protected]=> string(3) "int" ["incrementing"]=> bool(true) ["with":protected]=> array(0) { } ["withCount":protected]=> array(0) { } ["preventsLazyLoading"]=> bool(false) ["perPage":protected]=> int(15) ["exists"]=> bool(true) ["wasRecentlyCreated"]=> bool(true) ["escapeWhenCastingToString":protected]=> bool(false) ["attributes":protected]=> array(6) { ["title"]=> string(50) "xLcAnaJc7u4R2b0Og7Jl7S2ENJSPdPyMRXv034HsCP6cYGSVJi" ["body"]=> string(200) "xmt57ojDaEkaHUW10VraWOGJnJc90iKHOdcliGsvLpIXegYPBQ9tKVuUC70wqh0nwKKND9D7zINwRDU3VjXPdcMwMlC9pykpyMe0CLKotumTtyWyrqEt8tradXGMzThRWgpNoTWEkV7HBmonQD0F6Pao4GdgjCU0aud9nuBW3vchfsTNEkiUGM2x5yRTJDPmKinUH9EX" ["user_id"]=> int(1) ["updated_at"]=> string(19) "2023-04-06 10:07:33" ["created_at"]=> string(19) "2023-04-06 10:07:33" ["id"]=> int(59) } ["original":protected]=> array(0) { } ["changes":protected]=> array(0) { } ["casts":protected]=> array(0) { } ["classCastCache":protected]=> array(0) { } ["attributeCastCache":protected]=> array(0) { } ["dateFormat":protected]=> NULL ["appends":protected]=> array(0) { } ["dispatchesEvents":protected]=> array(0) { } ["observables":protected]=> array(0) { } ["relations":protected]=> array(0) { } ["touches":protected]=> array(0) { } ["timestamps"]=> bool(true) ["usesUniqueIds"]=> bool(false) ["hidden":protected]=> array(0) { } ["visible":protected]=> array(0) { } ["fillable":protected]=> array(3) { [0]=> string(5) "title" [1]=> string(7) "user_id" [2]=> string(4) "body" } ["guarded":protected]=> array(1) { [0]=> string(1) "*" } } ["socket"]=> NULL } Post criado
Marcelo Gomes
Criador Marcelo Gomes 05/04/2023

Seria esse print?

A execução ocorre, mas me parece que o broadcast não é acionado.

Marcelo Gomes
Manager Carlos Ferreira 05/04/2023

Falo os logs do próprio laravel-echo-server mesmo, do comando.

Acontece algo quando dispara algum evento?
Teoricamente deveria acontecer algo, quando dispara um evento.

--

Deixa o seu event assim:
https://github.com/especializati/curso-laravel-com-socket.io/blob/master/app/Events/PostCreated.php#L16

De deixa o comando sempre rodando (reinicia quando fizer alterações no código):
php artisan queue:work

Carlos Ferreira
Criador Marcelo Gomes 05/04/2023

Carlos

Voltei ao ajuste sugerido e veja os logs.

Log laravel-echo-server: NENHUM MOVIMENTO

L A R A V E L  E C H O  S E R V E R

version 1.6.3

⚠ Starting server in DEV mode...

✔  Running at localhost on port 6001
✔  Channels are ready.
✔  Listening for http events...
✔  Listening for redis events...

Server ready!

Log queue executando ....NADA

 % php artisan queue:work

 

   INFO  Processing jobs from the [default] queue.

 

Mas o registro é salvo corretamente no BD, somente não ocorre os disparos dos eventos.

Não sei onde eu errei. Eu subi novamente a versão corrigido no github.

Marcelo Gomes
Manager Carlos Ferreira 05/04/2023

Opa amigo!

Vou rodar o seu projeto, hj acho que não consigo, até amanhã te dou um feedback, tudo bem?
Me cobra por favor.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!