Giter VIP home page Giter VIP logo

pmbanugo / cron-atlas Goto Github PK

View Code? Open in Web Editor NEW
69.0 2.0 4.0 1.55 MB

A modern cron job scheduler for the serverless era

Home Page: https://cronatlas.com/

License: GNU Affero General Public License v3.0

JavaScript 1.13% TypeScript 96.49% CSS 1.51% HTML 0.87%
cron-job cronjob cronjob-scheduler remix-run serverless typescript background-jobs cron scheduled-functions scheduled-jobs scheduled-tasks

cron-atlas's Introduction

Cron Atlas - A modern job scheduler for the serverless era

Cron Atlas is a modern (cron) job scheduler for the serverless era. It is a simple, reliable, and highly available job scheduler that allows you to schedule tasks that call your API endpoints. In other words, it calls your API endpoints where you deployed your job or function, at the defined schedule/interval.

If you're hosting on Vercel, think of it as a more expressive Vercel Cron Jobs alternative. For Netlify functions, think of it as a better way to schedule function execution.

It is built on top of the following amazing tools and technologies:

  • Remix: for the UI where you configure and manage the job schedule. It uses Tailwind and shadcn/ui components.
  • Turso (SQLite): for data storage.
  • Drizzle ORM
  • Temporal: For the reliable and durable execution of jobs.
  • WorkOS & AuthKit: For authentication and enterprise security.

Features

  • Flexible Scheduling: Define your job schedules using intuitive cron expressions, simple strings like '2hrs', or through a user-friendly calendar interface.
  • Interactive UI: Manage your jobs with ease, with functionalities to pause, instantly trigger, or delete jobs directly from the console.
  • Support for Serverless Functions: Seamlessly schedule AWS Lambda, Vercel/Netlify Functions, Cloudflare Worker, or any API endpoint. This extends your serverless architectures and applications with timed task execution.
  • SQLite & Drizzle ORM: Backed by the lightweight yet powerful Turso (SQLite) and Drizzle ORM, ensuring smooth data management and query execution.
  • Temporal Reliability: Leverage Temporal’s durable execution capabilities to ensure that your jobs are never lost and always executed on time.

Who's using Cron Atlas?

While it's still early to have this list, here's a list of people and products that already use Cron Atlas in production.

  1. FxRate Today: Used to schedule task that updates the exchange rates.
  2. FlyCD: Internally used for some data clean up and migration tasks.

You should give it a try today by signing up for the cloud version at cronatlas.dev.

Feel free to open a PR if you're already using Cron Atlas.

Getting Started

While you can fork and run this on your computer, the fastest way to try it out as of today is to use the Cloud version which you can access at cronatlas.fly.dev.

Note

The cloud version is fully functional with the minimal features available today. However, the UI might not look as fancy and interactive for some people. So try it with less expectation on the UI, rather on the features and reliability of the product.

Local Set Up

TODO:

Resources

Blog posts & examples:

Contributing

Cron Atlas uses a permissive license and we welcome contributions from the community.

If you'd like to contribute, please fork the repository, make changes and submit pull requests (Thank you!).

Author

Built by Peter Mbanugo - software engineer & founder of FlyCD. He's based in Munich (Germany), so feel free to ask for a physical or virtual hangout.

You can connect with me on Twitter or LinkedIn.

cron-atlas's People

Contributors

pmbanugo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cron-atlas's Issues

Improve Form Validation handling

The forms currently only have basic client-side validation. The application should also do server-side validation, so that only valid data will be saved. It should ensure that:

  • required fields are submitted
  • the schedule value is properly checked based on the schedule type (e.g. cron expression or interval).
  • clear messaging for form validation errors.

This could be implemented in a simplistic way using epicweb-dev/invariant. An alternative is to use Conform and Valibot. The following guides by Kent Dodds shows how to use it in Remix.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.