{"repo":"GrottoPress/mel","free":true,"listed":false,"github":"https://github.com/GrottoPress/mel","clone":"git clone https://github.com/GrottoPress/mel.git","description":"A scalable asynchronous event-driven jobs engine","language":"Crystal","stars":47,"topics":["redis","background-jobs","cron-jobs","periodic-jobs","instant-jobs","crystal","message-queue","task-scheduler"],"license":"MIT","category":"databases-storage","readme_excerpt":"Mel Mel is an asychronous event-driven jobs processing engine designed to scale. Mel simplifies jobs management by abstracting away the nuances of scheduling and running jobs. In Mel , a scheduled job is called a task . A single job may be scheduled in multiple ways, yielding multiple tasks from the same job. Mel schedules all tasks in the chosen storage backend as a set of task id s sorted by their times of next run. For recurring tasks, the next run is scheduled right after the current run completes. This makes the storage backend the source of truth for schedules, allowing to easily scale out Mel to multiple instances (called workers ), or replace or stop workers without losing schedules. Mel supports bulk scheduling of jobs as a single atomic unit. There's also support for sequential scheduling to track a series of jobs and perform some action after they are all complete. Types of tasks 1. Instant Tasks: These are tasks that run only once after they are scheduled, either immediately or at some specified time in the future. 1. Periodic Tasks: These are tasks that run regularly at a specified interval. They may run forever, or till some specified time in the future. 1. Cron Tasks: These are tasks that run according to a specified schedule in Unix Cron format. They may run forever, or till some specified time in the future. Installation 1. Add the dependency to your shard.yml : 1. Run shards update 1. Require and configure Mel in your app (we'll configure workers later): - U","default_branch":null,"files":null,"tree":[],"storefront":"/r/GrottoPress","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/GrottoPress/mel/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}