“ การตอบสนองเร็วเกินไปหยุด” จะปิดการใช้งาน UPSTART เป็นเวลา 5 นาทีได้อย่างไร


11

ในสมัยก่อน init daemon ใช้เพื่อปิดการใช้งานที่เกิดขึ้นเร็วเกินไป

ฉันค้นพบอันตรายของฉันที่ UPSTART เพิ่งหยุดพวกเขา ตลอดไป

ฉันพบตัวควบคุม COUNT และ INTERVAL สำหรับเวลาที่จะหยุดงานที่ตอบสนองรวดเร็ว แต่ฉันไม่พบวิธีการเริ่มต้นงานใหม่หลังจากเวลารอที่ระบุ

  • นี่สำหรับเซิร์ฟเวอร์ระยะไกลที่ต้องเชื่อมต่อผ่าน ssh เพื่อให้ฉันสามารถขุดกลับเข้าไปได้ แต่มันก็มีปัญหาการเชื่อมต่อเป็นประจำและงานที่รันการเชื่อมต่อ ssh กำลังจะตาย! ฉันคาดหวังว่าจะพุ่งพรวดอย่างโง่เขลาเพื่อให้งานดำเนินต่อไป

มีวิธีหรือฉันต้องทำอะไรบางอย่างเช่นเรียกใช้งาน cron เพื่อตรวจสอบว่ามันทำงานอยู่หรือไม่และไม่รีสตาร์ท?

คำตอบ:


10

พุ่งพรวดช่วยให้การนอนหลับโพสต์หยุดเพื่อชะลอการรีสตาร์ทของงาน จากhttp://upstart.ubuntu.com/cookbook/#delay-respawn-of-a-job

post-stop exec sleep 5

ตอนนี้เมื่องานล้มเหลวมันจะรอ 5 วินาทีก่อนที่จะพยายามเชื่อมต่ออีกครั้ง รวมกับการตั้งค่า respawn ให้เป็น 10 เท่าใน 30 วินาทีและควรพยายามเกิดใหม่ตลอดกาล (จะลองเพียง 7 ครั้งใน 30 วินาทีดังนั้นจึงไม่ควรถูกไล่ออกจากการเกิดใหม่)


ใช่ว่าเป็นวิธีแก้ปัญหาที่ดีฉันคิดว่า ฉันสงสัยว่าควรพุ่งพรวดมีความเป็นไปได้ที่จะระบุเวลารอก่อนที่จะพยายามทำงานอีกครั้ง ฉันไม่ชอบความคิดที่จะหยุดงานให้ตาย ฉันชอบวิธีของ init ในการปิดงานเป็นเวลาห้านาที
Keith

ฉันคิดว่ากรณีการใช้งานที่คุณกำลังพูดถึงค่อนข้างต่ำ หากงานล้มเหลวมีเหตุผลสำหรับมันดังนั้นควรแก้ไข คนส่วนใหญ่ไม่ต้องการให้งานพยายามเริ่มต้นและล้มเหลวต่อไปเนื่องจากจะสามารถล้างบันทึกที่มีข้อมูลที่มีค่าหรือมีผลลัพธ์ที่เป็นภัยพิบัติอื่น ๆ ฉันคิดว่าคุณกำลังพุ่งพรวดสำหรับบางสิ่งที่ไม่ได้ออกแบบมาดังนั้นวิธีมาตรฐานในการเริ่มต้นใหม่อาจไม่เป็นปัญหา ที่กล่าวว่าการเชื่อมต่อเครือข่ายบนเครื่องนั้นพยายามเชื่อมต่ออีกครั้งเมื่อการเชื่อมต่อนั้นตายหรือไม่? ถ้าเป็นเช่นนั้นคุณอาจจะสามารถเริ่มงานของคุณในการเริ่มระบบเครือข่าย
tgm4883

1
ฉันแน่ใจว่าคุณถูกต้องว่าสิ่งนี้อยู่ไกลจากกรณี "คนส่วนใหญ่" ในขณะที่ฉันแฮ็ค Slackware และระบบที่สร้างขึ้นเองในช่วง 20 ปีที่ผ่านมาแนวคิดเหล่านี้มากมายต่างกับฉัน คุณช่วยชี้ฉันในทิศทางที่ถูกต้องเพื่อปรับแต่งการเริ่ม / เริ่มระบบเครือข่ายของ Ubuntu พระเจ้านี้ทำให้ฉันรู้สึกแก่และสัมผัส ฉันสามารถทำได้ใน slackware ใน 10 วินาที
Keith

1
นี่ถูกครอบคลุมในตำราอาหาร พวกเขาแนะนำให้ใช้stanza
jcomeau_ictx

1
ขอบคุณ @jcomeau_ictx ที่ว่ามันผมคิดว่าคำตอบควรได้รับการปรับปรุงด้วยการเชื่อมโยงไปยังมันupstart.ubuntu.com/cookbook/#delay-respawn-of-a-job นอกจากนี้ยังมีตั๋วที่ได้รับการยอมรับและแพทช์สำหรับข้อบกพร่อง Keith ร้องขอbugs.launchpad.net/upstart/+bug/252997ด้วย respawn รอเวลาก่อนที่จะลองอีกครั้ง
Andre Miras
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.