Hồi sinh quá nhanh, dừng lại. Làm cách nào để vô hiệu hóa UPSTART trong 5 phút?


11

Vào thời xưa, daemon init được sử dụng để vô hiệu hóa các tác vụ đang hồi sinh quá nhanh.

Tôi phát hiện ra sự nguy hiểm của mình rằng UPSTART chỉ ngăn họ lại. mãi mãi.

Tôi đã tìm thấy các điều khiển COUNT và INTERVAL khi nào nên dừng một công việc đang hồi sinh nhanh, nhưng tôi không thể tìm cách khởi động lại công việc đó sau một thời gian chờ được chỉ định.

  • Cái này dành cho một máy chủ từ xa phải kết nối qua ssh để tôi có thể quay trở lại vào nó. Nhưng nó thường xuyên có vấn đề kết nối và công việc chạy kết nối ssh đang chết dần! Tôi dại dột mong đợi sự khởi đầu để duy trì công việc.

Có cách nào không, hay tôi cần phải làm một cái gì đó như chạy một công việc định kỳ để kiểm tra xem nó có đang chạy không và nếu không khởi động lại nó?

Câu trả lời:


10

Upstart cho phép một giấc ngủ sau dừng lại để trì hoãn việc bắt đầu lại công việc. Từ http://upstart.ubfox.com/cookbook/#delay-respawn-of-a-job

post-stop exec sleep 5

Bây giờ khi công việc thất bại, nó sẽ đợi 5 giây trước khi thử kết nối lại. Kết hợp với việc đặt chế độ hồi sinh thành 10 lần trong 30 giây và nó sẽ cố gắng hồi sinh mãi mãi (nó sẽ chỉ thử 7 lần trong 30 giây, vì vậy nó không bị đuổi khỏi hồi sinh)


Vâng, đó là một cách giải quyết tốt, tôi cho rằng. Mặc dù vậy, tôi tự hỏi, liệu có nên bắt đầu có khả năng chỉ định thời gian chờ đợi trước khi thử chạy lại công việc. Tôi thực sự không thích ý tưởng về việc nó chỉ dừng việc chết. Tôi rất thích cách vô hiệu hóa công việc của init trong năm phút.
Keith

Tôi nghĩ rằng trường hợp sử dụng mà bạn đang nói đến là khá thấp. Nếu một công việc thất bại có một lý do cho nó, vì vậy nó nên được sửa chữa. Hầu hết mọi người sẽ không muốn công việc tiếp tục cố gắng bắt đầu và thất bại vì điều này có thể xóa nhật ký với thông tin có giá trị hoặc có kết quả thảm khốc khác. Tôi nghĩ rằng bạn đang sử dụng mới bắt đầu cho một cái gì đó mà nó không được thiết kế cho, vì vậy các phương pháp tiêu chuẩn để khởi động lại nó có thể không còn nữa. Điều đó nói rằng, kết nối mạng trên máy đó có cố gắng kết nối lại khi kết nối bị chết không? Nếu vậy, bạn có thể bắt đầu công việc trên mạng.
tgm4883

1
Tôi chắc chắn rằng bạn đã đúng rằng đây là một trường hợp "hầu hết mọi người". Vì tôi đã hack các hệ thống slackware và tùy chỉnh trong 20 năm qua, rất nhiều khái niệm này xa lạ với tôi. Bạn có thể chỉ cho tôi đi đúng hướng để tùy chỉnh khởi động / khởi động lại mạng Ubuntu không? Chúa này làm cho tôi cảm thấy cũ và mất liên lạc. Tôi có thể làm điều đó trên slackware trong 10 giây.
Keith

1
điều này được đề cập trong sách dạy nấu ăn; họ khuyên bạn nên sử dụng một khổ thơ sau dừng: upstart.ubfox.com/cookbook/#id379
jcomeau_ictx

1
Cảm ơn @jcomeau_ictx, chính xác là như vậy, tôi nghĩ rằng câu trả lời nên được cập nhật với liên kết đến nó upstart.ub Ubuntu.com/cookbook/#delay-respawn-of-a-job . Ngoài ra, còn có một vé và bản vá được chấp nhận cho Keith yêu cầu bug.launchpad.net/upstart/+orms/252997 với thời gian chờ hồi sinh trước khi thử lại.
Andre Miras
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.