> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# روتين

> دع Cuppy ينفّذ مطالبة وفق جدول زمني، وراجع نتيجة كل تشغيل في سجل التشغيل.

<Note>متاح في جميع خطط السحابة؛ أما النسخة المستضافة ذاتيًا فتتطلب خطة Business أو أعلى.</Note>

يسلّم الروتين مطالبة إلى Cuppy ويكررها وفق جدول زمني، وهو ما يناسب الأعمال التي لا ينبغي لأحد أن يبدأها يدويًا: تقرير يومي، تنظيف دوري للسجلات المنتهية، ملخّص أسبوعي. كل تشغيل هو محادثة ذكاء اصطناعي كاملة، لذا يستطيع الروتين كل ما تستطيعه المحادثة، بما في ذلك قراءة الجداول والكتابة فيها واستدعاء المهارات وإنشاء الملفات.

الروتين مورد داخل القاعدة، ويظهر في الشريط الجانبي الأيمن إلى جانب الجداول والتطبيقات والأتمتة.

<Info>تُستثار الأتمتة بحدث، مثل تغيّر سجل أو إرسال نموذج أو Webhook، وتنفّذ الخطوات التي أعددتها مسبقًا. أما الروتين فيُستثار بالوقت وحده، وينفّذ مطالبة يفسّرها الوكيل بنفسه. اختر الأتمتة حين تحتاج إلى خطوات ثابتة ونتيجة متوقّعة، واختر الروتين حين تريد أن يقرّر الوكيل في كل مرة ما يفعله بالبيانات الحالية.</Info>

## إنشاء روتين

<Steps>
  <Step title="الإنشاء">
    في الشريط الجانبي، انقر **+** واختر **روتين جديد**.
  </Step>

  <Step title="كتابة المطالبة">
    صِف في **المطالبة** ما ينبغي أن يفعله كل تشغيل. المطالبة هي التعليمات الكاملة للتشغيل الواحد، لذا اذكر مصدر البيانات وطريقة المعالجة ووجهة النتيجة. مثال: «لخّص السجلات المضافة أمس إلى جدول المهام، وجمّعها حسب المسؤول، واكتب الملخّص في جدول التقرير اليومي».
  </Step>

  <Step title="ضبط الجدولة">
    اختر تكرارًا ضمن **الجدولة**، واضبط **البداية** و**النهاية (اختياري)** عند الحاجة.
  </Step>

  <Step title="التفعيل">
    انقر **تفعيل**. يجب أن تكون الإعدادات محفوظة مسبقًا، وأن يتضمّن الجدول موعدًا قادمًا.
  </Step>
</Steps>

## الإعدادات

إلى جانب المطالبة والجدولة، يتضمّن النموذج هذه الإعدادات:

| الإعداد                                 | الوصف                                                                                                                                                                                                  |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **النموذج**                             | النموذج ومستوى الذكاء اللذان يعمل بهما هذا الروتين. اترك **النموذج الافتراضي** لاستخدام نموذج المحادثة الافتراضي للمساحة                                                                               |
| **الحد الأقصى لمدة التشغيل (بالدقائق)** | يُوقف التشغيل الذي يتجاوز هذا الحد ويُسجَّل فاشلًا. من 5 إلى 120 دقيقة، والافتراضي 30                                                                                                                  |
| **المحادثة**                            | **محادثة جديدة لكل تشغيل** تُبقي عمليات التشغيل مستقلّة بعضها عن بعض؛ و**متابعة محادثة التشغيل السابق** تنقل سياق عمليات التشغيل السابقة، وهو ما يناسب العمل الذي يحتاج إلى الرجوع إلى النتيجة السابقة |
| **البداية** / **النهاية (اختياري)**     | حدود الجدول. من دون وقت انتهاء يستمر الروتين بلا أجل                                                                                                                                                   |

يُسجَّل النموذج ومستوى الذكاء عند الحفظ، ولذلك يُظهر سجل التشغيل ما عمل به كل تشغيل فعليًا.

### الجدولة

اختر التكرار من الإعدادات الجاهزة: **كل ساعة** عند دقيقة محدّدة، و**يوميًا** و**أيام العمل** عند وقت محدّد، و**أسبوعيًا** في يوم من الأسبوع ووقت، و**شهريًا** في يوم ووقت.

لما هو أدقّ من ذلك، اختر **مخصص (RRULE)** واكتب قاعدة وفق RFC 5545، مثل `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. وللقاعدة المخصّصة هذه الحدود:

* يجب أن يكون التكرار `HOURLY` أو `DAILY` أو `WEEKLY` أو `MONTHLY` أو `YEARLY`، وأن يفصل بين تشغيلين ساعة واحدة على الأقل.
* يمكن استخدام `INTERVAL` و`COUNT` و`BYDAY` و`BYMONTHDAY` و`BYMONTH`، إضافةً إلى `BYMINUTE` واحد و`BYHOUR` واحد. الحد الأقصى لـ `COUNT` هو 1000، ويتطلّب `COUNT` أو `INTERVAL` ضبط وقت **البداية**.
* المنطقة الزمنية والحدود تأتي من النموذج، ولذلك تُرفض `TZID` و`DTSTART` و`UNTIL` و`BYSECOND`.

أما الجدول الذي يعمل مرة واحدة فيُكتب بقاعدة مخصّصة مع `COUNT=1`.

يُحتسب الجدول بالمنطقة الزمنية لمن أنشأ الروتين، ولا يتبع من يطّلع عليه. أما الوقت المعروض في **التشغيل التالي** فقد حُوِّل بالفعل إلى توقيتك المحلي.

## المسودّة والتحديث والتشغيل الفوري

الروتين الجديد مسودّة، ولا يعمل وفق الجدول حتى تفعّله. وعند تعديل روتين مفعَّل تُحفظ التغييرات كمسودّة أيضًا، بينما تواصل النسخة العاملة التشغيل بالإعدادات القديمة: انقر **تحديث** لتطبيقها، أو **تجاهل التغييرات** للتخلّص منها.

يُنفّذ **تشغيل الآن** مرة واحدة من دون انتظار الجدول، وهو مفيد للتحقّق من المطالبة. ولا يمكن تشغيل الروتين يدويًا مرة أخرى قبل انتهاء تشغيله السابق.

أوقف المفتاح لتعطيله؛ عندها يتوقّف الجدول عن الاستثارة، ويبقى سجل التشغيل الحالي كما هو.

## سجل التشغيل

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

تُعرض حالات التشغيل كالآتي: **في قائمة الانتظار**، **قيد التشغيل**، **مكتمل**، **فشل**، **ملغى**. وتظهر **ملغى** حين يقاطع أحدهم ذلك التشغيل، أو حين يكون الروتين أو قاعدته قد حُذف.

يذكر التشغيل الذي انتهى بـ**فشل** سببه، ولكل سبب استجابة مختلفة:

| الرسالة                                              | المعنى                                            | ما العمل                                                                                           |
| ---------------------------------------------------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| **فشل التشغيل**                                      | بدأ التشغيل لكنه اصطدم بخطأ                       | افتح محادثة ذلك التشغيل، واستدلّ من موضع الخطأ على ما إذا كان السبب في المطالبة أم في البيانات     |
| **انتهت مهلة التشغيل**                               | تجاوز التشغيل **الحد الأقصى لمدة التشغيل** فأُوقف | ارفع **الحد الأقصى لمدة التشغيل**، أو قسّم المطالبة إلى وحدات عمل أصغر                             |
| **تم التخطي: الأرصدة غير كافية**                     | نفدت الأرصدة فلم يبدأ التشغيل                     | اشحن أرصدة المساحة                                                                                 |
| **تم التخطي: كان التشغيل السابق لا يزال جاريًا**     | لم ينتهِ التشغيل السابق، فتُخطّي هذا الموعد       | اخفض التكرار، أو قلّل حجم ما يعالجه التشغيل الواحد                                                 |
| **تم التخطي: انتهت مهلة الانتظار في قائمة الانتظار** | انتظر التشغيل طويلًا في الطابور فتُخطّي           | الحالة المتفرّقة لا تستدعي شيئًا؛ أما تكرارها فيعني ازدحام الجدولة في وقت واحد، ففرّق بين المواعيد |

محادثة التشغيل للقراءة فقط. ويستطيع الأعضاء الذين يملكون تعديل الروتين متابعتها في آخرها لتتبّع كيف جرى تشغيل بعينه.

<Info>يتطلّب الاطلاع على سجل التشغيل صلاحية تعديل الروتين. ويستطيع مالك القاعدة ومنشئها إنشاء الروتينات وتعديلها وحذفها، بينما يملك بقية المتعاونين صلاحية الاطلاع فقط.</Info>

## تنبيهات الإخفاق والتعطيل التلقائي

يرسل Teable إشعارًا عند إخفاق تشغيل أو نفاد الأرصدة. ويصل الإشعار إلى العضو الذي حدّث الروتين آخر مرة، ويظهر اسمه أعلى سجل التشغيل عند **ستُرسل الإشعارات إلى**. ولا تُرسل إشعارات الإخفاق في كل مرة، حتى لا تُغرق سلسلةٌ طويلة من الإخفاقات من يتلقّاها.

بعد 5 إخفاقات متتالية يُعطَّل الروتين تلقائيًا، ويصل إشعار منفصل بذلك. أعِد تشغيل المفتاح بعد معالجة السبب؛ ويُصفَّر العدّاد بعد أول تشغيل ناجح.

ولا يُحتسب كل تشغيل غير ناجح ضمن هذا العدد: فالتشغيل الذي تُخطّي لأن السابق كان لا يزال جاريًا أو لانتهاء مهلة الانتظار في الطابور، وكذلك التشغيل **ملغى**، لا يُعدّ إخفاقًا ولا يُنتج إشعارًا. أما نقص الأرصدة فيُحتسب، ولذلك يؤدّي تركها من دون شحن إلى التعطيل في النهاية.

## أسئلة شائعة

<AccordionGroup>
  <Accordion title="هل تستهلك الروتينات أرصدة؟">
    نعم. كل تشغيل محادثة ذكاء اصطناعي، ويُحتسب على أرصدة المساحة حسب الاستخدام الفعلي، ويظهر في **ملخص استخدام الأرصدة** في صفحة الفوترة تحت النوع **روتين**. وعند نفاد الأرصدة يُتخطّى التشغيل ويُرسل إشعار، ويؤدّي تكرار التخطي إلى التعطيل.
  </Accordion>

  <Accordion title="هل يؤثّر تعديل المطالبة في التشغيل الجاري؟">
    لا. يُحفظ التعديل كمسودّة، ولا يصل إلى النسخة العاملة إلا عند النقر على **تحديث**. أما التشغيل الجاري فيُكمل بالإعدادات التي بدأ بها.
  </Accordion>

  <Accordion title="هل تعمل الروتينات تلقائيًا في قاعدة مثبّتة من قالب؟">
    نعم. بعد تثبيت القالب تُفعَّل روتيناته كما تُفعَّل مسارات العمل فيه. أما الجدول الذي لا موعد قادم له فيبقى مسودّة.
  </Accordion>

  <Accordion title="هل يتضخّم السياق بلا حدّ عند متابعة محادثة التشغيل السابق؟">
    حين يقترب السياق من حدّه يضغط Teable المحادثة، فلا ينقطع التشغيل لهذا السبب. واختر **محادثة جديدة لكل تشغيل** إذا أردت أن يبدأ كل تشغيل بسياق نظيف.
  </Accordion>
</AccordionGroup>
