temporalio / temporalio/temporal
Support last day of month as a recurring schedule option
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 23.2k
- Forks
- 1.9k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 228
Description
Is your feature request related to a problem? Please describe.
Use cases may require that a schedule runs on the last day of the month every month. Because the last day of the month changes month to month, there isn't currently a temporal schedule configuration which supports this.
Describe the solution you'd like
This requested support most likely pertains to calendar specs. In the context of the Temporal Python SDK ScheduleCalendarSpec, a day_of_month from 1-31 may be given. A value of 31 could match the last day of the month regardless of which month the schedule runs on, or some alternative value such as -1.
Describe alternatives you've considered
Assembling a list of calendar specs, one per month, where the last day of each month is explicitly provided. This does not work for a schedule that needs to run indefinitely.
Additional context
https://temporalio.slack.com/?redir=%2Farchives%2FCTT84KXK9%2Fp1710480826848909%3Fname%3DCTT84KXK9%26perma%3D1710480826848909
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue points to Temporal Python SDK ScheduleCalendarSpec as the entry point; inspect how day_of_month values are interpreted across calendar specs and the service. Define support for the final calendar day across varying month lengths, and add coverage confirming recurring schedules run on the intended date.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, python
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100