Tôi có Celeryd/RabbitMQ chạy trên một hộp Fedora, liên lạc với cơ sở dữ liệu MySQL trên một hộp riêng biệt. Tôi đã nhận thấy rằng, vào những dịp hiếm hoi, nếu có ngay cả những vấn đề nhỏ kết nối với cơ sở dữ liệu MySQL (ngay cả đối với một vài giây), celeryd sẽ sụp đổ với lỗi:Khôi phục cần tây từ một cúp cơ sở dữ liệu
OperationalError: (2003, "Can't connect to MySQL server on
'mydatabasedomain' (111)")
và thất bại trong việc kết nối lại thậm chí khi cơ sở dữ liệu trở nên khả dụng trở lại.
Hiện tại, tôi bắt buộc phải khởi động lại dịch vụ cần tây theo cách thủ công để có được cần tây chạy trở lại. Có cách nào duyên dáng và tự động hơn để khôi phục từ các loại sự kiện này không? Có bất kỳ tính năng nào của cần tây để chỉ lặng lẽ chờ đợi, đăng nhập OperationalError, và kết nối lại thay vì thoát ra hoàn toàn?
Điều gì đang sử dụng MySQL? Có phải bạn đang sử dụng nhà môi giới SQLAlchemy, kết nối với MySQL DB không? – brechin