Skip to content

Discussion: Daylight saving time transition clarificationsΒ #7

@odinserj

Description

@odinserj

Hi @Hexagon! I'm Sergey, the maintainer of Cronos. First of all, I think this is a great attempt to bring structure into the Cron format, as there are a lot of completely different implementations nowadays, and I remember how difficult it was to dig into implementation details, and even sometimes refer to Vixie Cron's source code to get required ideas around this format. I'm not sure I will be able to dedicate enough time working on the specification, but let's at least start with something and see how it goes.

First thing I'd like to clarify is about daylight saving time transitions – this was the reason Cronos was made several years ago. I see it's included in version 1.4 of the specification, but I think one important detail should be added here to make things more intuitive. For example, Cronos defines different behaviors for interval-based expressions, and non-interval based ones to decide whether to skip intervals on DST end or even shift them on DST start.

For example, I expect that the */30 * * * * expression will "running" every 30 minutes, no matter what, and that during DST end, such occurrences should not be skipped. And on the other hand, I'd like to see the 30 02 * * * expression, that has "daily at 02:30 AM" meaning to be executed even during DST start periods that shift time from 02:00 AM to 03:00 AM, to ensure this expression occurs every day – it's so easy to forget about DST and create cron jobs for "bad" time.

But unfortunately, "interval"- and "time-point"-based decisions are full of compromises.

So I have two basic questions to you:

  • What is the expected way of discussing/suggesting the changes?
  • Have you seen other packages that implement DST rules with cron?

And more complicated ones πŸ˜…:

  • Should we capitalize "cron"?
  • And what is the full definition of it, "cron", "cron expression", "cron pattern"?
  • How to name the point of time that satisfies the given cron expression, "occurrence"?

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions