FireDaemon Synkronize

Scheduling engine for recurring tasks
Scheduling engine for recurring windows

Product Snapshot





FireDaemon Synkronize
1.0 April 2021
Free -  Non Commercial Binary Only License with no support

$400 - per developer per annum

Microsoft Windows, C++ 20 (VC2019 16.9 msvc 14.28)
Apple macOS, C++ 20 (gcc-10)

Features at a Glance

Easily save 200 hours of coding if writing from scratch 7500 lines of C++ code. 1830 lines of core logic (timepoint generator).


Tasks are often planned and performed repeatedly, very often recurring in regular intervals. This includes annual events on calendar dates. FireDaemon's synkronize library is a C++ library, which generates timepoints according to simple yet powerful blueprint patterns. In turn those timepoints may then be consumed to schedule recurring tasks. Some examples include scheduling version checks or tasks on public holidays.

Domain-specific: timepoint generation

Uniform handling of concrete vs. 'nth day of week' dates

Data-driven configuration instead of coding each generator

Simple enumerators denoting patterns how to generate timepoints

Uniform handling of action and duration schedules

Sanitizing input data

Simple enumerators denoting where to move on the timeline, given a reference timepoint ('now')

Uniform handling of 'uptime' and 'downtime' duration schedules

Handling of edge cases & Unit Tested

Uniform handling of various time-scales (units)

Activity Boundaries

Serialization (XML, JSON)


So what's the deal a developer receives compared to using a lower-level component like boost date/time? It's all about simplicity and semantically meaningful usage in regard to time point iteration. Less coding with a domain-specific component is always a big plus.

Various interval units (scales):

  • time: by the second, by the minute, by the hour

  • date: daily, weekly, monthly, yearly (also leap year)

Public Holiday schedules

Activity boundaries (fixed start/end dates)

Gregorian calendar dates

Multiple, correlating time points per generator/schedule

Upper limit on the number of recurrences

nth day of week in a month

Patterns, e.g: every hour from Monday to Tuesday

Fixed duration schedules