Cron jobs
Scheduled one-shot tasks that run on a recurring schedule.
A cron job is a container that runs on a schedule, executes a command, and exits. You give Appentic a cron expression and a command, and it takes care of starting the container at the right time, capturing the output, and tearing it down when the work is done. Use cron jobs for nightly exports, data cleanup, scheduled reports, cache warmups, and anything else that's time-based rather than event-driven.
Because cron jobs scale to zero between runs, they're the cheap option whenever you don't need something always-on. If you'd otherwise run a worker that sleeps most of the time, a cron job is probably the right shape.
Creating a cron job
From your project dashboard, click New service, then Cron job. Pick the repo, a command to run, and a schedule in standard cron format. For example, 0 3 * * * runs the command every day at 03:00 UTC, and */15 * * * * runs it every 15 minutes.
The schedule is always interpreted in UTC. If you care about local time (say, "9 AM in my users' timezone") do the conversion once when you set the schedule.
Execution history
Every run produces an entry in the cron job's Runs tab. Each row shows when the run started, how long it took, its exit code, and the captured stdout/stderr. Failed runs are highlighted and kept for investigation so you can spot a flaky daily job before it becomes a weekly outage.
If you want to trigger a run on demand without waiting for the schedule, use the Run now button. It boots the same container, with the same environment variables, and records the run in the same history as scheduled runs.
Timeouts
Cron jobs are capped at 60 minutes by default. You can extend this up to 6 hours per run from Settings → Limits. Jobs that exceed their timeout are killed and marked failed.
If your work genuinely needs more than 6 hours, you probably want a worker instead (with a checkpointed job), or you want to split the work into multiple smaller runs.