npm.io
0.3.7 • Published 5 years ago

@beanstalk/core

Licence
MIT
Version
0.3.7
Deps
0
Size
79 kB
Vulns
0
Weekly
0
Stars
3

@beanstalk/core

build | npm

Documentation

A 0 dependency, full-featured, battle-tested beanstalk client library.

NOTE
While version is lower than v1.0.0 the API might change slightly

Installation

yarn add @beanstalk/core
Usage
PUT
import { BeanstalkClient } from '@beanstalk/core';

/**
 * Usage: node put.js
 */
async function main() {
  const client = new BeanstalkClient();
  await client.connect(); // defaults to localhost:11300

  const id = await client.put('Hello World');
  console.log(`Job created with '${id}'`);

  client.quit();
}

main().catch((err) => {
  console.error(err.message);
  process.exit(1);
});
RESERVE
import { BeanstalkClient } from '@beanstalk/core';

/**
 * Usage: node reserve.js > out
 */
async function main() {
  const client = new BeanstalkClient();
  await client.connect(); // defaults to localhost:11300

  await client.watch('my-tube');
  await client.ignore('default'); // 'default' is watched by default

  // hangs until a job gets ready on 'my-tube'
  const [id, payload] = await client.reserve();
  console.error(`Job ID: ${id}`);
  await new Promise((resolve, reject) => {
    process.stdout.write(payload, (err) => err ? reject(err) : resolve());
  });

  client.quit();
}

main().catch((err) => {
  console.error(err.message);
  process.exit(1);
});