Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kirill-dev-pro/beanstalk-promises
Promise wraper for fivebeans client so you can use promises instead of callbacks and await them
https://github.com/kirill-dev-pro/beanstalk-promises
beanstalk beanstalkd javascript-library nodejs npm npm-module
Last synced: 2 days ago
JSON representation
Promise wraper for fivebeans client so you can use promises instead of callbacks and await them
- Host: GitHub
- URL: https://github.com/kirill-dev-pro/beanstalk-promises
- Owner: kirill-dev-pro
- License: mit
- Created: 2017-02-11T19:21:53.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T22:41:41.000Z (almost 2 years ago)
- Last Synced: 2024-10-04T09:10:36.359Z (about 1 month ago)
- Topics: beanstalk, beanstalkd, javascript-library, nodejs, npm, npm-module
- Language: JavaScript
- Size: 319 KB
- Stars: 2
- Watchers: 2
- Forks: 6
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# beanstalk-promises
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![Test Coverage](https://codeclimate.com/github/Zmeu213/beanstalk-promises/badges/coverage.svg)](https://codeclimate.com/github/Zmeu213/beanstalk-promises/coverage)
[![Issue Count](https://codeclimate.com/github/Zmeu213/beanstalk-promises/badges/issue_count.svg)](https://codeclimate.com/github/Zmeu213/beanstalk-promises)Promise wraper for fivebeans client so you can use promises instead of callbacks and await them
### Quick start
```javascript
const Beanstalk = require('beanstalk-promises')async function main () {
let client = new Beanstalk()
await client.connect('127.0.0.1', 11300, 1000)
await client.watchTube('test')
let job = await client.getJob()
await client.quit()
}main()
```### Functions
- `constructor(debug, default_ttl)`
Create new instance of beanstalk-promises client.
- If `debug` is true (or if it just exist) it will print debug messages.
- `default_ttl` is a parameter that sets how long job could be reserved.- `.connect(host, port, reconnect)`
- `reconnect` is a number in miliseconds, client will reconnect to beanstalk after it if something happens. Set `0` to disable.- `.quit()`
Disconnects the client, no reconnect.- `.watchTube(tube)` return number of watched tubes
- `tube` name of tube to watch
- `.useTube(tube)` return name of tube used by client
- `tube` name of tube to use
- `.getJob()` return a `job`. Get available for reserve job from *tubes* watched by client.- `job` is object
```javascript
{
id: jobid, // Job id
data: payload // Job data
}
```
- `.buryJob(job)` takes whole `job` object (or just something that have .id property) and bury it- `.releaseJob(job)` releases a `job`
- `.checkJob()` return `true` if there is avalable for release job in tube *used* by client. Return false if not.
Dont reserve jobs, just check.- `.putJob(data, priority, delay)` put job to a tube *used* by a client
- `data` payload for future job.
- `priority` smaller integer means higher priority. Default is `0`.
- `delay` delay in seconds. Default is `0`.
- `deleteJob(job)` delete job
- `job` job object- `.stats()` Return stats of the server
- `.statsTube(name)` Return stats of tube
- `name` name of tube- `.listTubes()` List tubes. Yes.
### License
*MIT*