Jobs runs
Each workspace has a dedicated Runs menu that allows you to visualise all past and future runs. In Windmill, each run is associated with a job.
You might also be interested in Audit logs:
Aggregated view
The Runs menu in each workspace provides a time series view where you can monitor different time slots. The green (respectively, red) dots being the tasks that succeeded (respectively, failed).
You can filter the view per datetime, toggle "CRON schedules" to disable the display of past scheduled jobs and "Planned later" to disable the display of schedules planned for later.
All past and future runs of the workspace are visible from the menu.
The graph can represent jobs on their Duration (default) or by Concurrency, meaning the number of concurrent jobs at a given time.
Graphical view by concurrent jobs.
Details per run
Clicking on each run in the menu opens a run page where you can view the run's state, inputs, and success/failure reasons.
View of a past run.
You can also view scheduled runs from the run menu, which provides information on the arguments used and the next trigger.
View of a scheduled run:
Although scheduled scripts and flows are visible on their dedicated tab, the run menu helps you see the next scheduled one.
Filters
You can adjust the level of details by picking playing with filters on:
- Datetime
- Metadata: Path / User / Folder / Worker / Concurrency key / Labels
- Kind: All / Runs / Previews / Dependencies
- Status: All / Success / Failure
- Skipped flows
- Arguments
- Results
Example of filters in use:
Here were filtered successful runs from August 2023 which returned
{"baseNumber": 11}
.
You can also filter by argument directly from a script / flow deployed page.
Jobs labels
Labels allow to add static or dynamic tags to jobs with property "wm_labels" followed by an array of strings.
export async function main() {
return {
"wm_labels": ["showcase_labels", "another_label"]
}
}
Jobs can be filtered by labels in the Runs menu to monitor specific groups of jobs.
Invisible runs
When this option is enabled, manual executions of this script or flow are invisible to users other than the user running it, including the owner(s). This setting can be overridden when this script is run manually from the advanced menu.
Batch actions
You can cancel or re-run multiple job runs at once. You can manually select them, or you can cancel or re-run all jobs matching current filters if you are admin.
When re-running jobs, you can set their inputs statically or with a JavaScript expression. By default, jobs re-run with the same arguments. You may choose to re-run the job on their original script version or the latest one. Flows can only run on their latest version.
In the example below, we choose to re-run the job on the latest version of the script. We use the original bannedAt value when available, but bannedAt was not defined in older versions, so we fallback to the job original scheduled date. We also transform the username by adding a @
prefix.
Multiple jobs may have run different versions of a script, which may have different schemas. Checking for the script hash narrows the type of the input, which allows the linter to show you the correct input type depending on the script version. Windmill will automatically generate code like this by default:
// 'a' has different types depending on the script version
if (job.script_hash === 'edaf364678e4672a') {
job.input.a // 'a' is a boolean
} else if (job.script_hash === '1df16d1abdd02f6b') {
job.input.a // 'a' is a number
}