Skip to main content
This guide is for developers automating recurring work: a nightly export, a daily digest, a weekly reconciliation. Prerequisites: CYCLS_API_KEY.

1. Write the job

A scheduled function is called with no arguments, so it computes its own parameters.
reports.py

2. Test before scheduling

The schedule does not fire during cycls run. The local run executes the function once so you can check the output.

3. Deploy

The deploy output confirms the schedule. From then on the platform calls the function, with no worker of yours to keep running.

4. Confirm it runs

Every fire is an ordinary request, so it appears in logs like any other call.

5. Change or remove the schedule

Source is the truth. Edit the cron expression and redeploy to change it. Delete the schedule= argument and redeploy to remove it, which the deploy output confirms with Schedule removed. cycls rm removes both the deployment and its schedule.

6. Hand the report to users

Point an agent at the same volume and let it read the files.
assistant.py
The read-only mount means the agent can read every report and change none of them.

Writing safe scheduled jobs

A safe job looks like this:

What cannot be scheduled

  • Apps and agents. They serve HTTP. Schedule a function that calls them.
  • Functions that take a port. The port contract deploys a server, which a schedule cannot fire.
Both fail at import with the fix in the message.

Next

Python reference

Every exported name in one table.