THẢO LUẬN

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
thg 7 29, 2019 7:17 SA

@Plumpboy bởi vì bạn throw ra ý, thì handle catch chứ ko phải event của bạn catch, nếu muốn xử lý thì bạn phải xử lý ở trong Handler chứ =))

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

😆😆😆

0
thg 7 29, 2019 7:06 SA

@huusu1996 Nguyên nhân đã được tìm ra là return dừng chương trình chứ không phải dừng ở hàm report của handler.

Exception là event nên nếu nó không đc throw thì event không đc kích hoạt, return chỉ trả về object.

Nhưng khó hiểu là tại sao laravel exception handler lại không hoạt động bình thường hay sai chỗ nào không biết, dùng supervisor thì nó trả lại lỗi trong lệnh catch thứ 2 của Queue Woker, FatalThrowableError.

Thằng handle được wrap trong runJob của class này, đang debug, hơi khó hiểu

0
thg 7 29, 2019 7:03 SA

theo mình là được nhé bạn vì thực tế khi bạn dùng package trên thì nó vẫn tương tự là:

public function filter(Request $request)
{
    $users = QueryBuilder::for(User::class)
         ->allowedFilters('name')
         ->get();

    return fractal($users, new UserTransformer);
}

Vì biến $users mà bạn thu được vẫn là kết quả thu được trong database mà

0
thg 7 29, 2019 7:03 SA

@Plumpboy should report này đặt ở đâu vậy bạn + cơ chế bắt cái shouldReport này như thế nào vậy. bạn có chắc là cái dispatch event kia là thằng xử lý Exception này ko :-? hay là thằng khác xử lý

0
thg 7 29, 2019 7:00 SA

@Naem là nó vẫn chạy ra vòng lặp vĩnh viễn, đáng lẽ nó phải hoạt động như này: chương trình xảy ra lỗi 1, shouldReport = true -> dispatch event -> listener được push vào queue -> lệnh gửi notify 1 hoạt động, lệnh 2 lỗi -> throw ra ChatAppException, shouldReport = false -> không dispatch event -> thread dừng hoạt động.

0
thg 7 29, 2019 6:58 SA

Bạn có thể cho mình xem đoạn try catch trogn code để throw ra exception k

0
thg 7 29, 2019 6:53 SA

cho mình hỏi nó chạy ko như mong muốn ở đây là nó chạy ntn được ko :v

0
thg 7 29, 2019 4:45 SA

Bạn ơi cho mình hỏi chỗ nào trả về thông báo username hoặc password không đúng về client vậy

0

bài viết hay lắm ạ

0
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í