Luồng công việc nền gặp lỗi, tại sao luồng chính có thể phải chờ mãi? Reth PR
#28313 giải thích: sau khi tác vụ chứng minh gặp panic, không có kết quả nào được gửi đi; trong khi đó, bộ điều phối vẫn giữ đầu gửi nên kênh sẽ không tự đóng. Vì vậy, bên chờ không nhận được tín hiệu kết thúc rõ ràng. Giải pháp chuyển panic của từng tác vụ thành ProofJobError::Panicked, gửi kết quả đúng một lần qua một đầu ra thống nhất, để luồng công việc tiếp tục phục vụ. Lưu ý về phạm vi: lần này không xử lý panic xảy ra trước khi luồng nhận tác vụ hoặc khi mở provider. Khi xây dựng nút
$ETH hoặc dịch vụ phụ thuộc vào kết quả của nút đó, đường đi của phản hồi lỗi cũng cần đầy đủ như phản hồi thành công.