
Non-essential data (such as sessions) and without configuration doesn't The decision to use Mongo instead of Redis is intentional. Web Interface?Īgenda itself does not have a web interface built in but we do offer stand-alone web interface Agendash: If you really want to, you can find my gittip here. Thanks! I'm flattered, but it's really not necessary. That being said, you can check out theĮxample project structure below. Sample Project Structure?Īgenda doesn't have a preferred project structure and leaves it to the user toĬhoose how they would like to use it. This can be resolved by tweaking the maxConcurrency and lockLimit properties. This is because they will compete to lock as many jobs as possible, even if they don't have enough concurrency to process them. If you have multiple instances of agenda processing the same job definition with a fast repeat time you may find they get unevenly loaded. These jobs are actively being worked on by user code, and this is limited by maxConcurrency (defaults to 20). If all jobs will need to be run before agenda's next interval (set via agenda.processEvery), then agenda will attempt to lock all jobs.Īgenda will also pull jobs from _lockedJobs and into _runningJobs. This defaults to having no limit, but can be managed using lockLimit. What is the difference between lockLimit and maxConcurrency?Īgenda will lock jobs 1 by one, setting the lockedAt property in mongoDB, and creating an instance of the Job class which it caches into the _lockedJobs array. InstallationĬonst agenda = new Agenda ( and can be changed through the option sort when configuring Agenda.


Kudos for making the comparison chart goes to Bull maintainers. Since there are a few job queue solutions, here a table comparing them to help you use the one that
Agendash: optional standalone web-interface.Inversify-agenda - Some utilities for the development of agenda workers with Inversify.Agenda-rest: optional standalone REST API.Event backed job queue that you can hook into.Scheduling via cron or human readable syntax.Scheduling with configurable priority, concurrency, repeating and persistence of job results.
