Automation Detailed Guide with Examples
📅 1. Scheduling Options
Automation supports a variety of scheduling types to fit different needs:
🔹 Once at a Specific Time
Run a task one time at a fixed date and time.
Example:
Run a data deduplication task on 1st July 2025 at 02:00 AM to clean a newly imported marketing list.
🔹 Every X Hours/Days
Run a task repeatedly at fixed intervals, starting from a specified time.
Example:
Run a "clean contacts" task every 6 hours starting at 9:00 AM to ensure CRM data is continuously updated.
🔹 Specific Days of the Week at Specific Times
Configure a task to run on certain weekdays and times.
Example:
Run an address verification task every Monday and Thursday at 7:30 PM, just before weekly campaign launches.
🔹 Specific Days of the Month
Schedule tasks to run on dates like the 1st, 15th, or 30th of each month.
Example:
Run a full dataset deduplication every 1st and 30th at 1:00 AM before monthly reports are generated.
🔔 Note: If the scheduled date doesn’t exist in a month (e.g., the 30th in February), the task is skipped. There’s no built-in option yet for "last day of the month."
🪄 2. Task Execution Logic
✅ Single Task Instance
Only one task from a schedule can run at a time to avoid conflicts or duplicates.
📥 Task Queuing (FIFO)
If a task is missed (e.g., due to system load or overlap), it is added to a First-In-First-Out (FIFO) queue. Only one missed task per schedule ID is kept in the queue.
Example:
If a task is set to run hourly but the system is busy for 3 hours, only one instance is queued and executed once the system is free.
🚫 Queue Limitations
- Max 20 queued tasks total
- If the system restarts, the queue is cleared (missed tasks are not retried)
- Tasks in the queue are prioritized over newly scheduled tasks at that moment
📉 3. Failure Handling
⚠️ “Stop on Fail” Setting
- If enabled (True):
- Task will not run again if it fails once.
- If disabled (False):
- Task will continue running at its next scheduled time regardless of previous failure.
Example:
If a phone number validation task fails due to a server issue:
- With Stop on Fail = True, it will stop entirely until manually fixed.
- With Stop on Fail = False, it will try again at the next scheduled time.
📋 4. Logging and Monitoring
Each automation task produces two logs:
- Start Log: Marks the beginning of the task.
- End Log: Shows success or failure and any relevant output.
The system uses these logs to determine:
- If a task should rerun
- If it previously failed or completed successfully
- How to apply the “Stop on Fail” rule
Example:
If the service is interrupted during a task and the end log is missing, the system assumes it failed and reschedules it as normal at the next due time.
⏱️ 5. Timer Behavior
- The internal scheduler checks for tasks every minute.
- It does not guarantee second-level precision (e.g., 09:00:05 or 09:00:55).
- Time comparisons ignore seconds — only HH:mm is used.
- The task is launched in the exact scheduled minute — not later.
Example:
A task scheduled at 12:00 will trigger anytime between 12:00:00 and 12:00:59 but must be initiated within that minute.
✅ Best Practices
- Stagger heavy tasks to prevent overlap.
- Use "Stop on Fail" for sensitive jobs where failure needs intervention.
- Review logs regularly to catch issues early.
- Avoid relying on 29th–31st for monthly schedules.
- Plan for service restarts – missed tasks are not retried.