makesites / bodacious Goto Github PK
View Code? Open in Web Editor NEWJob manager with multiple store support, based on Bull #multistore #jobmanager #queue #node #js
Home Page: http://makesites.org/project/bodacious
Job manager with multiple store support, based on Bull #multistore #jobmanager #queue #node #js
Home Page: http://makesites.org/project/bodacious
When the option serial is false
the jobs are executed with no limit.
Applying a limit may be preferable in some cases, when we don't want the running queue to take up too many resources of the machine.
Look into using async.queue
that has a concurrency option...
Instead of promisifying all the Queue methods which creates another layer of complexity look into async to simplify the logic.
You should be able to abort a running job by using job.cancel()
Looks like internally Queue
calls Store.createAsync
anyway, so replacing addAsync
in main
with add
does the trick. Not sure why the callback is called, something internal to Bluebird.promisifyAll
maybe.
For failed tasks there should be an integer (in the options) that defines how many times a task will be run before removing from the queue.
Look into using async.retry
with this syntax:
async.retry({times: [int], interval: [milliseconds] }, task, callback);
Currently, every time the queue runs it will order the tasks chronologically. That means older jobs will always be at the top, even if they have already been executed and failed.
If we want to give new jobs a chance before re-running old jobs an option would be appropriate that sets a filter when the tasks are ordered.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.