Score:1

มีวิธีจัดคิวสคริปต์ใน ubuntu/debian/linux หรือไม่

ธง ph

ฉันมีคำถามแปลก ๆ (อย่างน้อยก็สำหรับฉัน!) แต่ฉันไม่แน่ใจว่าจะเข้าหาได้อย่างไร

พื้นหลัง

ฉันมีงานแบตช์สองสามอย่าง (สคริปต์ไพ ธ อนเรียกผ่าน cron หรือสคริปต์ไพ ธ อนถูกเรียกโดยสคริปต์ทุบตี) ตัวอย่างเช่น งาน ETL 20 งาน และงานประมวลผลข้อมูล 20 งาน ที่เกิดขึ้นในช่วงเวลาต่างๆ

แนวทางปัจจุบัน

ฉันเปิดเซิร์ฟเวอร์ไว้และรันงาน cron เพื่อรันสคริปต์ตามเวลาที่กำหนด (ไม่ได้รันพร้อมกันทั้งหมด..อันหนึ่งอาจรันตอน 13.00 น. ในขณะที่อีกอันรันเวลา 17.00 น.) มันทำงานได้อย่างสมบูรณ์ในขณะนี้

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

ฉันคิดที่จะเริ่มต้นเซิร์ฟเวอร์ทุก ๆ ชั่วโมง จากนั้นเซิร์ฟเวอร์จะประมวลผลงานใด ๆ ก็ตามที่เลยกำหนดเวลาที่ยังทำไม่เสร็จ

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

โปรดแจ้งให้เราทราบ!

user535733 avatar
cn flag
คุณหมายถึงอะไรโดย "*เริ่มเซิร์ฟเวอร์ทุกชั่วโมง*" เซิร์ฟเวอร์นี้อยู่บนโลหะเปล่าหรือไม่? หรือมันเป็นอินสแตนซ์ของคลาวด์? หรือคอนเทนเนอร์หรือ VM ในบางโฮสต์
Lostsoul avatar
ph flag
@user535733 ใน GCP คุณสามารถตั้งเวลาให้เซิร์ฟเวอร์เริ่มต้นตามเวลาที่กำหนดได้ โดยปกติฉันจะเรียกใช้สคริปต์ในการเริ่มต้น แต่ใช้วิธีการนั้นฉันต้องมีเซิร์ฟเวอร์ 40 เครื่องพร้อมสคริปต์เริ่มต้นที่แตกต่างกันฉันกำลังพยายามให้เซิร์ฟเวอร์หนึ่งทำสิ่งต่าง ๆ ตามหน้าต่างคิว/เวลา
pLumo avatar
in flag
คุณสามารถใช้ `@reboot` เป็นช่วง cron จากนั้นตรวจสอบภายในสคริปต์ว่าต้องทำอะไร
Lostsoul avatar
ph flag
@pLumo ฉันขอโทษฉันไม่คุ้นเคยกับคำสั่งนั้น ฉันค้นหาแล้ว แต่พบข้อผิดพลาดทั่วไปในการรีบูตเซิร์ฟเวอร์ของฉัน คุณรู้ไหมว่าฉันควรค้นหาอะไร
user535733 avatar
cn flag
สำหรับผู้ที่ไม่ถนัดเรื่อง cloud-speak GCP = Google Cloud ฟังดูเหมือนเป็นงานปกติสำหรับตัวจับเวลา systemd หรือ anacron ไม่ใช่ cron ทั้งตัวจับเวลาและ anacron ได้รับการออกแบบให้ทำงานหากระบบพลาดงานเนื่องจากไม่ได้ใช้งาน คุณไม่จำเป็นต้องสตาร์ทเครื่องทุกชั่วโมงสำหรับงานที่พลาดไป คุณสามารถเริ่มได้วันละครั้ง...หรือเดือนละครั้ง เริ่มทำงานเมื่อคุณต้องการจริง ๆ และให้ตัวจับเวลาหรือ anacron จัดการตรรกะในการค้นหาสิ่งที่พลาดไปและงานใดที่ต้องรันและลำดับงานใด
bac0n avatar
cn flag
คิดว่าคุณกำลังมองหา
bac0n avatar
cn flag
ที่เกี่ยวข้อง: [ปัญหาตัวจับเวลาพร้อมเพรียงและ systemd](https://askubuntu.com/q/656075/986805)
Lostsoul avatar
ph flag
ว้าว ขอบคุณ @ user535733 และทุกคนสำหรับความช่วยเหลือของคุณ! ฉันค้นหา Anacron และดูเหมือนว่าฉันต้องการอะไร หากคุณต้องการให้คำตอบ ฉันสามารถลงคะแนน/ยอมรับ การค้นหาข้อมูลเกี่ยวกับเรื่องนี้เป็นเรื่องยากเมื่อฉันค้นหา ดังนั้นการมีคำตอบนี้หวังว่าจะช่วยผู้อื่นในความท้าทายที่คล้ายกันนี้ ขอขอบคุณ!

โพสต์คำตอบ

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