Hey all,
Has anyone ever worked on a project such as Hubspot, or Lemlist, or Customer.io etc. where the platform provides marketing automaton functionality to end users. E.g. you can send sequenced emails as predetermined times, trigger email campaigns based off events and so on.
I’m wondering ‘how’ this is typically handled, and if it would simply use something like the new NodeJS scheduler, or if for scalability it would typically use something else?
Starting to look into this as something we’ll explore in the next 1 to 2 months.
A scheduler, cron job, or similar functionality is probably what you’re looking for or possibly some type of queue management system for more complex needs.
Additional reading that might be helpful:
# All About Recurrence!
Recurrence is not easy to deal with in applications, and it is particularly tricky to offer as a feature of a general-purpose component. There are many different ways to implement it (with server integration being integral), and Calendar Pro's primary goal is to remain as flexible as possible. Thus I thought it would be worthwhile to provide an overview of some of the design decisions that went into the Extensible recurrence implementation and outline some strategies for integrating it into applications. Also, there simply aren't very many good resources available for tackling how to implement recurrence in general, so hopefully this will be a good resource for developers hoping to do so.
## Conceptual Design
To implement recurrence in an application, you need to consider all of the following:
- **Application Goals** — Define what "recurrence" really means to your application and what level of complexity your users require (hint: simpler is almost always better)
- **Recurrence Format** — Choose a recurrence format and supporting data to store with your events that makes it easy (or at least *possible*) to query against events with
- **Event Generation** — Parse the recurrence data format when retrieving events to generate recurring instances dynamically
- **Recurrence Editing** — Provide a mechanism in the UI for associating a recurrence pattern to an event and editing it later, and a way to uupdate events in application code (including a way to create exceptions to the recurrence pattern)
This is a pretty nontrivial list, so let's break it down piece by piece.
## Application Goals
It's important to decide up front what level of recurrence is required for your application. The Extensible recurrence widget takes a middle-ground approach out of the box, offering the most common calendar scheduling options of daily, weekly, monthly and yearly recurrence, with basic options for setting the repeat frequency and duration.
This file has been truncated. show original
Systems like Agenda , Bull and Cloud Tasks may be of interest.
1 Like