الجدولة المتقدمة

يقدم هذا المستند أمثلة على schedule_type في CUSTOM بمزيد من التفاصيل.

كما هو مشار إليه من الوثائق الرئيسية:

إذا كان schedule_type هو CUSTOM، فعليك أيضًا تحديد قائمة الجداول الزمنية المخصصة أو الأوقات التي سيتم فيها تشغيل القاعدة. في قائمة schedule، يمكن أن تتكون كل مواصفة فردية من مجموعة الحقول التالية، ويكون المتطلب الوحيد هو أنه يجب على واحد من start_minute أو days على الأقل أن يتواجد في كل إدخال.

الحقل الوصف

start_minute

الوقت بالدقائق بعد 12:00 صباحًا. يجب أن يكون من مضاعفات 30 دقيقة. إذا تم تعيين ذلك ولم يكن هناك end_minute، فهذا سيحدد الوقت المحدد لتشغيل القاعدة. وغير ذلك، ستحدد مع end_minute نطاق الوقت لتشغيل القاعدة. إذا لم يتم تعيين ذلك، فسيتم تشغيل القاعدة SEMI_HOURLY لكل يوم محدد في days.

end_minute

الوقت بالدقائق بعد 12:00 صباحًا. يجب أن يكون من مضاعفات 30 دقيقة وبعد start_minute. إذا تم تعيينه، فهذا سيحدد مع start_minute نطاق الوقت لتشغيل القاعدة. إذا كانت end_minute هي ذاتها start_minute، فهي ستحدد أيضًا الوقت المحدد لتشغيل القاعدة.

days

قائمة الأيام لتشغيل القاعدة. يجب أن يكون كل يوم قيمة من 0-6. وتكون 0 هي يوم الأحد، وتكون 1 هي يوم الإثنين، إلخ وتكون 6 هي يوم السبت. إذا لم يتم تعيين ذلك، فسيتم تشغيل القاعدة على كل الـ 7 أيام استنادًا إلى start_minute وend_minute، إذا كانت موجودة.

فيما يلي مثال على استخدام الجدولة المتقدمة لجدولة تشغيل القاعدة كل يوم الساعة 10 صباحًا. من خلال حذف days، نستنتج تلقائيًا أن مواصفات الجدول هذه سيتم تطبيقها كل يوم.

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "start_minute": 600,
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

مثال

فيما يلي مثال على قاعدة يتم تشغيلها كل 30 دقيقة فقط في عطلات نهاية الأسبوع. من خلال حذف start_minute، نستنتج أنه يتم تشغيل القاعدة كـ SEMI_HOURLY للأيام المحددة.

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "days": [0, 6]
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

فيما يلي مثال على قاعدة يتم تشغيلها فقط في أيام الأربعاء الساعة 2 صباحًا. من خلال حذف end_minute، نستنتج أنه يتم تشغيل القاعدة فقط في وقت محدد بدلاً من نطاق أوقات.

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "start_minute": 120,
         "days": [3]
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

يتم احتساب كل جدول فردي بشكل مستقل كـ OR مع الجداول الأخرى. فيما يلي مثال على قاعدة يتم تشغيلها طوال اليوم في أيام الأسبوع، ولكن فقط من الساعة 12 إلى 1 مساءً في عطلات نهاية الأسبوع. من خلال الحصول على end_minute هنا، نلاحظ الآن نطاق الوقت من start_minute إلى end_minute.

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "days": [1, 2, 3, 4, 5]
       },
       {
         "start_minute": 720,
         "end_minute": 780,
         "days": [0, 6]
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

لاحظ أن عدم تحديد days في مواصفة الجدولة الثانية ستعمل أيضًا بشكل متساوي، حيث إن المواصفة الأولى تتضمن الساعة 12 إلى 1 مساءً في أيام العمل بالأسبوع.