THẢO LUẬN

thg 7 30, 2019 2:45 SA

@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. 🤔

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 7 30, 2019 2:39 SA

@huukimit đã fix được rồi bạn ơi, thiếu mỗi dòng

use Throwable;

nên khi catch

try {
            resolve('chatapp')
                ->handle('chatwork')
                ->withEnv()
                ->withMessage(generate_message('notification_template.chatwork', $event))
                ->dispatch();
            resolve('chatapp')
                ->handle('slack')
                ->withEnv()
                ->withMessage(generate_message('notification_template.slack', $event))
                ->dispatch();
        } catch (Throwable $e) {
            throw new ChatAppException();
        }

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) 😦

+1
thg 7 30, 2019 2:32 SA

@Plumpboy không biết exception bạn gặp phải như thế nào nhỉ? :-?

0

mong chị sớm ra phần tiếp theo!

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 7 30, 2019 1:24 SA

@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.

+1
thg 7 30, 2019 1:08 SA

Hay quá!

0
thg 7 29, 2019 12:17 CH

=.="

0
thg 7 29, 2019 10:37 SA

Hay bạn ơi, mình rất muốn contact với bạn để trao đổi thêm

+1
thg 7 29, 2019 10:32 SA

okke bạn tiếc quá

0

Cảm ơn chia sẻ bổ ích của anh ạ

+1
thg 7 29, 2019 10:24 SA

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 ạ?

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 7 29, 2019 9:00 SA

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

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 7 29, 2019 8:54 SA

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

0
thg 7 29, 2019 8:28 SA

Bạn cho mình hỏi chút: Authentication/Authorization với traefik thì làm thế nào?

+1
Avatar
đã bình luận cho bài viết
thg 7 29, 2019 8:27 SA

bị lỗi giống bạn

0
Avatar
đã bình luận cho bài viết
thg 7 29, 2019 8:14 SA

😫😫😫

0
thg 7 29, 2019 7:57 SA

@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

0
thg 7 29, 2019 7:50 SA

Bài viết rất hay, cảm ơn tác giả ạ.

+1
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí