Skip to main content

Cron والمجدول

جدولة استدعاءات API المتكررة — مهام cron تعمل وفق جدول، مثالية للمزامنة الدورية والتذكيرات.


Cron والمجدول

تتيح لك Cron API جدولة استدعاءات HTTP متكررة لنقاط نهاية Synapse (أو نقاط نهاية HTTPS خارجية). مثالية للمزامنة الدورية والتذكيرات ومهام الصيانة.

نقاط النهاية

POST /cron

إنشاء مهمة مجدولة.

curl -X POST https://synapse.schaefer.zone/cron \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "schedule": "0 * * * *",
    "endpoint": "https://synapse.schaefer.zone/memory/recall",
    "method": "GET",
    "headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
  }'

الاستجابة:

{
  "id": "cron_001",
  "schedule": "0 * * * *",
  "endpoint": "https://synapse.schaefer.zone/memory/recall",
  "method": "GET",
  "enabled": true,
  "next_run": "2026-06-27T13:00:00Z",
  "created_at": "2026-06-27T..."
}

GET /cron

قائمة بجميع المهام المجدولة.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/cron

DELETE /cron/:id

حذف مهمة مجدولة.

curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/cron/cron_001

PUT /cron/:id/toggle

تمكين أو تعطيل مهمة دون حذفها.

curl -X PUT -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/cron/cron_001/toggle

صيغة الجدولة

Cron القياسي (5 حقول)

┌───── minute (0-59)
│ ┌───── hour (0-23)
│ │ ┌───── day of month (1-31)
│ │ │ ┌───── month (1-12)
│ │ │ │ ┌───── day of week (0-6, 0=Sunday)
│ │ │ │ │
* * * * *

أمثلة:

الجدول المعنى
0 * * * * كل ساعة
*/15 * * * * كل 15 دقيقة
0 9 * * 1-5 أيام الأسبوع الساعة 9 صباحًا
0 0 * * 0 كل أحد منتصف الليل
0 0 1 * * أول كل شهر منتصف الليل

فترة زمنية صحيحة (ثوانٍ)

للفترات البسيطة، مرّر عددًا صحيحًا:

{ "schedule": "300" }  // كل 5 دقائق

قيود نقطة النهاية

يجب أن تكون نقاط النهاية عناوين URL تبدأ بـ `http://` أو `https://` تشير إلى:

هذا يمنع هجمات SSRF حيث يمكن لعقل مخترق جدولة طلبات إلى خدمات داخلية.

الأنماط الشائعة

استدعاء الذاكرة كل ساعة (لوكلاء LLM)

curl -X POST .../cron -d '{
  "schedule": "0 * * * *",
  "endpoint": "https://synapse.schaefer.zone/memory/recall",
  "method": "GET",
  "headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'

نسخ احتياطي يومي

curl -X POST .../cron -d '{
  "schedule": "0 2 * * *",
  "endpoint": "https://synapse.schaefer.zone/memory/mind-export",
  "method": "GET",
  "headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'

استطلاع الدردشة الدوري (كل 5 دقائق)

curl -X POST .../cron -d '{
  "schedule": "300",
  "endpoint": "https://synapse.schaefer.zone/chat/poll",
  "method": "GET",
  "headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'

مُحفّز التقرير الأسبوعي

curl -X POST .../cron -d '{
  "schedule": "0 9 * * 1",
  "endpoint": "https://my-app.com/weekly-report",
  "method": "POST",
  "body": "{\"mind_id\": \"m_xyz789\"}",
  "headers": {"Content-Type": "application/json", "X-API-Key": "my-secret"}
}'

الخطوات التالية