semaphoreui / semaphore

Modern UI for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools.
https://semaphoreui.com
MIT License
10.38k stars 1.05k forks source link

Feature: More specific schedules #2349

Open semaiwald opened 1 week ago

semaiwald commented 1 week ago

Related to

Web-Frontend (what users interact with), Service (scheduled tasks, alerts)

Impact

better user experience

Missing Feature

Scheduling tasks is currently only supported via Cron expressions. When I want to target a specific day in a month this wont be possible using only Cron expressions (f.ex. we need task execution on every third Friday of the month).

Would there be a way to implement more than just Cron expressions? f. ex. 0 12 * * 5 [ $(($(date +\%d)/7)) -eq 3 ] would match on "third Friday of the month" but since only Cron expressions are usable we cant add all the date stuff.

Implementation

Add an option to pin point the day (not by number as right now but additionaly by name) to monthly schedueled runs.

Design

No response

svennd commented 1 week ago

Wouldn't this work for every 3'th friday of the month : 0 0 * * 5#3

Well no, semaphore checks : "Cron: failed to parse int from 5#3: strconv.Atoi: parsing "5#3": invalid syntax"

Also special names like :

@montly
@reboot

Don't seem to work anymore.