@Plumpboy Theo cách bạn làm như vậy thì tương đương với việc catch(\Exception $e). Làm như này không được hay lắm vì nếu có bất kỳ exeption nào trong try thì nó sẽ bị ngậm mất vì bạn ignore cái ChatAppException rồi.
@huukimit mình đang tìm cách fix nhưng giờ chắc chỉ có duy nhất 1 cách là log lỗi đó, và force stop cái job đó, nếu không wrap bên ngoài của job, process nó sẽ throw ra các exception khác, vòng lặp sẽ xảy ra.
Mình đọc bài viết của bạn thấy rất hay bên mình đang thiếu 1 excutive specialist producer content manager bạn có thể cho mình xin contact để liên hệ không ạ?
vì mình làm 1 cái manager để notice khi có exception trong hệ thống mà chính cái để gửi exception lại lỗi nên nó thành vòng lặp, mà nếu nó lỗi ở cái manager thì không sao, ở đây nó lại lỗi ở 1 driver trong khi các driver khác vẫn chạy
nó vòng lặp vĩnh viễn vì mỗi lần nó bắn ra 1 lỗi trong queue thì lại có 1 event đc dispatch và nó sinh ra job mới.
try time mình đã đặt rồi.
Cái khó ở đây là mình try catch trong queue để throw ra 1 exception đã được đăng ký trong dontReport để dừng vòng lặp.
Tuy nhiên queue lại được wrap trong runJob trong Queue Woker, và ở đây nó throw những exception khác những cái này mình không thể ném vào dontReport vì như thế sai logic.
Cách tạm thời là Log vào file log của queue và return, chạy đúng mặc dù code hơi ma giáo
THẢO LUẬN
@Plumpboy Theo cách bạn làm như vậy thì tương đương với việc
catch(\Exception $e). Làm như này không được hay lắm vì nếu có bất kỳ exeption nào trong try thì nó sẽ bị ngậm mất vì bạn ignore cáiChatAppExceptionrồi.@huukimit đã fix được rồi bạn ơi, thiếu mỗi dòng
nên khi catch
thì không chạy vào block catch vì $e không phải instance của Throwable (do mình chưa khai báo nó, nên Throwable ở đây là undefined)
@Plumpboy không biết exception bạn gặp phải như thế nào nhỉ? :-?
mong chị sớm ra phần tiếp theo!
@huukimit mình đang tìm cách fix nhưng giờ chắc chỉ có duy nhất 1 cách là log lỗi đó, và force stop cái job đó, nếu không wrap bên ngoài của job, process nó sẽ throw ra các exception khác, vòng lặp sẽ xảy ra.
Hay quá!
=.="
Hay bạn ơi, mình rất muốn contact với bạn để trao đổi thêm
okke bạn tiếc quá
Cảm ơn chia sẻ bổ ích của anh ạ
Mình đọc bài viết của bạn thấy rất hay bên mình đang thiếu 1 excutive specialist producer content manager bạn có thể cho mình xin contact để liên hệ không ạ?
cảm ơn a nhé
vì mình làm 1 cái manager để notice khi có exception trong hệ thống mà chính cái để gửi exception lại lỗi nên nó thành vòng lặp, mà nếu nó lỗi ở cái manager thì không sao, ở đây nó lại lỗi ở 1 driver trong khi các driver khác vẫn chạy
nó vòng lặp vĩnh viễn vì mỗi lần nó bắn ra 1 lỗi trong queue thì lại có 1 event đc dispatch và nó sinh ra job mới. try time mình đã đặt rồi.
Cái khó ở đây là mình try catch trong queue để throw ra 1 exception đã được đăng ký trong dontReport để dừng vòng lặp. Tuy nhiên queue lại được wrap trong runJob trong Queue Woker, và ở đây nó throw những exception khác những cái này mình không thể ném vào dontReport vì như thế sai logic.
Cách tạm thời là Log vào file log của queue và return, chạy đúng mặc dù code hơi ma giáo
Bạn cho mình hỏi chút: Authentication/Authorization với traefik thì làm thế nào?
bị lỗi giống bạn
@Plumpboy bạn có public repo hay có thể gửi đoạn xử lý của bạn lên đây ko, mình xem hộ cho, có thể bạn chưa hiểu cách hoạt động của laravel lắm :v
Bài viết rất hay, cảm ơn tác giả ạ.
@Naem https://stackoverflow.com/questions/49796533/is-returning-an-exception-an-anti-pattern đọc để hiểu mình nói gì