queue-task
Use this skill for durable long-running queue jobs with resumable batches.
Layout (task-father only):
<WORKSPACE_DIR>/<TASKS_DIR>/<slug>/...
State files:
queue.jsonlprogress.jsondone.jsonlfailed.jsonllock.json
Prerequisites
python3 --versionopenclaw statusopenclaw cron --help
Configuration (portable)
Skill-local config:
- Example:
config.env.example - Real machine config:
config.env
Keys:
WORKSPACE_DIRTASKS_DIRBATCH_SIZELOCK_STALE_MINUTESCRON_EXPRCRON_TZDELIVERY_MODEAGENT_ID
Initialization / Installation / Onboarding
Preferred (chat-first)
Provide:
- task slug
- batch size
- lock stale minutes
- schedule and timezone
Then initialize:
python3 scripts/queue_task.py init <slug>
Smoke test:
python3 scripts/queue_task.py status <slug>
Optional (terminal)
cp config.env.example config.env- Edit
config.env - Run init/status commands above.
Commands
- Init files:
python3 scripts/queue_task.py init <slug>
- Status:
python3 scripts/queue_task.py status <slug>
- Clear stale lock:
python3 scripts/queue_task.py clear-stale-lock <slug>
- Print worker template:
python3 scripts/queue_task.py print-supervisor-template
Usage notes
- Prefer append-only JSONL logs.
- Process small batches.
- Update
progress.jsonafter each item. - Keep idempotency keys task-defined.
- Use lock file to avoid concurrent runs.