https://github.com/tradle/qtask
persistent promise-based task queue
https://github.com/tradle/qtask
Last synced: about 1 year ago
JSON representation
persistent promise-based task queue
- Host: GitHub
- URL: https://github.com/tradle/qtask
- Owner: tradle
- License: mit
- Created: 2015-03-23T00:34:14.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-06-03T23:26:12.000Z (about 11 years ago)
- Last Synced: 2025-04-14T23:52:59.022Z (about 1 year ago)
- Language: JavaScript
- Size: 168 KB
- Stars: 3
- Watchers: 8
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Promise-based persistent task queue
_qtask is a persistent queue for a function passed in at creation time that processes data passed at any later time_
Work in progress
## Usage
```js
var request = require('request');
var Queue = require('qtask');
var q = new Queue({
throttle: 100,
blockOnFail: true, // prevent next task from running if previous task struck out
strikes: 3, // defaults to false - never strike out
process: function(data) {
// return Q.Promise or a value
return Q.Promise(function(resolve, reject) {
request(data.url, function(err, resp, body) {
if (err) return reject(err);
else return resolve(resp);
})
});
},
path: './path/to/queue.db'
});
q.push({
url: 'http://tradle.io'
});
q.push({
url: 'http://urbien.com'
});
q.push({
url: 'this might not be a valid url'
});
```
## Events
### 'status:success'
Task succeeded
### 'status:fail'
Task failed
### 'status:struckout'
Task struck out