0.0
No commit activity in last 3 years
No release in over 3 years
A clock-based scheduler that runs inside your Rails app.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.3
~> 13.0, >= 13.0.3
~> 0.12

Runtime

~> 1.1, >= 1.1.8
~> 0.6, >= 0.6.0
>= 5.2
 Project Readme
description
Make Rails apps that feel alive.

ChronoTrigger

The chrono_trigger gem is a clock-based event scheduler that runs inside your Rails app. It runs code at specific times and intervals.

GitHub stars GitHub forks Twitter follow Discord

Why use ChronoTrigger?

Nobody wants to be the first person to arrive at a club, and yet, this is exactly what most app onboarding processes feel like:

After you spend months building something cool, you have to hustle just to get people to check it out. A typical visitor will spend 7-12 seconds evaluating your hard work before deciding if they will engage. You get one chance to recruit your first followers... or else, they will close the tab and forget you exist.

Onboarding success stories like Slack prioritize anticipating what the user will be thinking, feeling and wondering during each moment of their first minutes on the site.

ChronoTrigger is a tool designed to breathe life into otherwise static user interfaces and onboarding experiences.

Is ChronoTrigger for you?

ChronoTrigger is for developers looking to orchestrate the onboarding experience your app deserves, without the hard sell:

  • interactive demos, charts and UI elements
  • automation and wizards that feel personal
  • placeholder content that changes to help tell a story
  • a path through features instead of just clicking everything
  • simulated human responses and exchanges

Key features and advantages

How does ChronoTrigger work?

ChronoTrigger runs on real world time, just like trains. 🚂

Every second, on the second, ChronoTrigger's thread-safe worker pool checks to see if there are new events to run.

{% hint style="info" %} Other event scheduling libraries tend to be either cron wrappers or use timing offsets (think: sleep 1) from whenever they are called and don't factor in their own timing footprint. In other words, 1000 loops later, more than 1000 seconds have passed. No good! 🙅‍♂️ {% endhint %}

You start the ChronoTrigger Clock after your web server, and it runs inside your Rails app process.

ChronoTrigger Events live in app/events and follow a structure that will be familiar to ActiveJob users.

You can schedule Events from anywhere in your application that it makes sense to do so, such as:

  • Controller actions and webhook callbacks
  • ActiveRecord model callbacks
  • Devise session/registration callbacks
  • Reflex action methods
  • ActionCable Connection/Channel subscription callbacks

Try it now

Github repo and Heroku demo coming soon.