ปกติในการจัดการพวก job scheduling นั้น มักจะใช้พวก crontab เป็นหลัก หรืออาจจะไปใช้งานพวก AirFlow ไป ก็ช่วยได้เยอะ แต่ลองไปค้นหาเพิ่มเติ่ม ก็เจอ Rocketry ซึ่งพัฒนาด้วยภาษา Python ที่สำคัญเขียน code ง่าย ๆ เพื่อจัดการ job scheduling ดังนั้นมาลองใช้งานกันดูหน่อย
สิ่งแรกจากการใช้งานตัว Rocketry นั้น คือ
ตัวอย่าง code ง่าย ๆ เป็นดังนี้
from rocketry import Rocketry app = Rocketry() @app.task('daily') def do_things(): ... if __name__ == "__main__": app.run()
สิ่งที่ชอบคือ การกำหนด schedule ของแต่ละ function ว่าทำงานตอนไหน
ที่อ่านเข้าใจได้ง่าย ยกตัวอย่างเช่น
รวมทั้งยังสามารถทำงานได้หลากหลายมากขึ้น
แต่ยังคงความง่ายของ code ที่เขียนออกมา ยกตัวอย่างเช่น
ตัวอย่างของการทำงานแยกออกจาก thread/process หลัก
@app.task("daily", execution="main") def do_on_main(): ... @app.task("daily", execution="thread") def do_on_thread(): ... @app.task("daily", execution="process") def do_on_process(): ...
เป็น project ที่นำมาใช้แล้ว ช่วยให้จัดการ job scheduling ได้สะดวกยิ่งขึ้น น่าสนใจมาก ๆ ลองทดลองใช้กันดูครับ