Module 15 • Advanced

Advanced Cron & Scheduling

Master advanced cron features like webhook delivery, failure alerts, session binding, and context messages for production-grade automation.

📊 Module Progress

Complete objectives and quizzes to unlock your badge!
0/9 Tasks Completed

🎯 Learning Objectives

Configure Webhook Delivery — Send cron job results to external URLs.
Set Up Failure Alerts — Get notified when a cron job fails.
Choose Session Target — Select main, isolated, or named session for tasks.
Use Context Messages — Include previous chat history as context for cron jobs.

📚 Theory

Advanced Cron Features

Now that you know basic cron, let's explore advanced scheduling features.

1. Webhook Delivery

Instead of running in a chat session, send results to a URL.

{
  "delivery": {
    "mode": "webhook",
    "to": "https://your-server.com/endpoint"
  }
}

Use case: Send daily reports to your own API.

2. Failure Alerts

Get notified when a cron job fails.

{
  "failureAlert": {
    "channel": "telegram",
    "to": "347207938",
    "after": 3  // Alert after 3 failures
  }
}

3. Session Binding

Control which session the job runs in:

  • "main" → Your main chat (JiXe)
  • "isolated" → Temporary session (auto-deletes)
  • "session:my-session" → Specific named session

4. Context Messages

Include previous chat history for context.

"contextMessages": 5  // Include last 5 messages as context

Real-World Advanced Examples

Example 1: Daily Report with Webhook

{
  "name": "Daily Sales Report",
  "schedule": { "kind": "cron", "expr": "0 18 * * *" },
  "payload": { "kind": "agentTurn", "message": "Summarize today's sales data" },
  "delivery": {
    "mode": "webhook",
    "to": "https://my-server.com/sales-report"
  },
  "sessionTarget": "isolated"
}

Example 2: Failure Alert for Critical Task

{
  "name": "Backup Database",
  "schedule": { "kind": "every", "everyMs": 86400000 },
  "payload": { "kind": "systemEvent", "text": "Backup database to cloud" },
  "failureAlert": {
    "channel": "telegram",
    "to": "347207938",
    "after": 1
  }
}

Best Practices for Advanced Cron

  1. Test Before Scheduling — Run the task manually first to ensure it works.
  2. Use Isolated Sessions for Heavy Tasks — Don't clog your main chat with cron outputs.
  3. Set Failure Alerts for Critical Jobs — If a backup or security check fails, you want to know immediately.
  4. Clean Up Old Jobs — Periodically review and remove jobs you no longer need.

Key Takeaway

Advanced cron = webhooks + failure alerts + session control. Use these for production-grade automation!

🧪 Hands-On Exercise

Design an advanced cron job with webhook and failure alerts.

Step 1: Define the Task

Scenario: You want a daily backup of critical files, with alert if it fails.

Task: Backup C:\Important\ to cloud storage

Step 2: Write the Cron JSON

{
  "name": "Daily Backup",
  "schedule": {
    "kind": "cron",
    "expr": "0 2 * * *",
    "tz": "Asia/Kuala_Lumpur"
  },
  "payload": {
    "kind": "systemEvent",
    "text": "Backup C:\\Important\\ to cloud storage"
  },
  "sessionTarget": "isolated",
  "failureAlert": {
    "channel": "telegram",
    "to": "YOUR-CHAT-ID",
    "after": 1
  }
}

This job runs daily at 2AM, uses isolated session, and alerts on first failure.

Step 3: Add Webhook (Optional)

If you have a server that logs backups:

"delivery": {
  "mode": "webhook",
  "to": "https://your-server.com/backup-log"
}

Step 4: Test the Job

Before scheduling, test manually:
You: "Backup C:\Important\ to cloud storage."
JiXe: runs backup → "Backup complete! 15 files backed up."

Step 5: Monitor

After scheduling, check:
- Did it run? (Check logs)
- Did it succeed? (Check delivery/alerts)
- Any failures? (Check Telegram for alerts)

📝 Quiz: Advanced Cron

Q1: What does "webhook delivery" do?

A
Deletes the results
B
Sends results to a URL
C
Plays a sound
D
Prints on paper

Q2: Failure alerts notify you when:

A
Job succeeds
B
Job fails
C
Job is created
D
Job is deleted

Q3: Which session target is best for heavy tasks?

A
"main"
B
"isolated"
C
"none"
D
"earth"

Q4: What does contextMessages do?

A
Deletes messages
B
Includes previous chat history
C
Sends messages
D
Hides messages

Q5: When should you set failure alerts?

A
For every job
B
For critical jobs only
C
Never
D
Only for fun jobs
🚀
Badge Earned!
Production Deployer 🚀

You've completed all objectives and quizzes!