"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني إنشاء جدولة تشبه Cron في Python؟

كيف يمكنني إنشاء جدولة تشبه Cron في Python؟

تم النشر بتاريخ 2024-12-22
تصفح:880

How Can I Create Cron-Like Scheduling in Python?

الجدولة الشبيهة بـ Cron مع Python

تنشأ الحاجة إلى جدولة المهام بناءً على التعبيرات المرنة في سياقات مختلفة. على الرغم من أن cron يخدم هذا الغرض في العديد من البيئات، إلا أنه قد لا يكون متاحًا أو ممكنًا عالميًا. في مثل هذه الحالات، توفر Python العديد من الخيارات لإنشاء برامج جدولة تشبه cron.

نهج خفيف الوزن مع مكتبة الجدولة

إذا كانت الحلول خفيفة الوزن والنقية المستندة إلى Python كما هو مطلوب، توفر مكتبة schedule واجهة بسيطة ومعبرة. إنه يتيح جدولة المهام باستخدام تعبيرات تشبه cron:

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while 1:
    schedule.run_pending()
    time.sleep(1)

في هذا المثال، سيتم تنفيذ الدالة job() على فترات زمنية منتظمة. يمكنك تعديل التعبير لتحديد جداول معقدة، مثل كل ساعتين بين الساعة 9 صباحًا و5 مساءً في أيام الأسبوع.

المناهج البديلة

إذا لم تكن مكتبة الجدول الزمني كذلك تلبية متطلباتك المحددة، فكر في هذه الطرق البديلة:

  • apscheduler: مكتبة جدولة أكثر شمولاً مع دعم متعدد الواجهات الخلفية، بما في ذلك الخيوط المحلية والكرفس.
  • crontab: حزمة Python التي تحاكي أمر crontab، مما يسمح بالجدولة المباشرة لأوامر shell.
  • celery-beat : برنامج جدولة يتكامل مع قائمة انتظار المهام الموزعة لـ Celery.

تذكر، عند تحديد المهام الخاصة بك المجدول، ستحتاج إلى التعامل مع إطلاق وظائف بايثون في سلسلة رسائل منفصلة لتجنب عرقلة العملية الرئيسية.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3