jobr
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

Jobr

Jobr is a simple, lightweight library that makes easy to create and manage recurrent jobs. Works in browser and node environment.

Table of Contents

Installation

To install with npm, please execute following command;

npm install jobr

To install with yarn, please execute following command;

yarn add jobr

Usage

Node

import { RecurrentJob } from "jobr";

const recurrentJob = new RecurrentJob({
  name: "hello",
  task: () => "hello world",
  interval: 1000,
  stopOnFail: false
});

const unsubscribe = recurrentJob.subscribe("success", (data) => {
  console.log(data);
});

recurrentJob.start();

unsubscribe();

Browser

if you're just using <script> tags everywhere, use this solution.

<script src="https://unpkg.com/jobr"></script>

<script>
  const recurrentJob = new jobr.RecurrentJob({
    name: "hello",
    task: () => "hello world",
    interval: 1000
  });

  const unsubscribe = recurrentJob.subscribe("success", (data) => {
    console.log(data);
  });

  recurrentJob.start();

  unsubscribe();
</script>

Bundler

Assuming you are using browserify, webpack, rollup, or another bundler, please follow Node usage above.

Instance Options

Name Description
name Job name (required)
task Function that will be invoked at spesified intervals (required)
interval Interval value in millisecond (required)
stopOnFail Setting true will stop the job if task fails (optional, default: false)

API

Name Description
start Starts the job. If job already started, it will throw an error.
stop Stops the job. If job is not started, it will throw an error.
subscribe Register your listener for a job event. Returns unsubscribe callback.
isRunning Returns true if job is active

Events

Jobr comes with built-in eventing system, allows you to listen job state changes.

Name Description
created Will be invoked once job created.
started Will be invoked when job started.
stopped Will be invoked when job stopped.
success Will be invoked after task successfully executed.
error Will be invoked after task failed
invoked Will be invoked right before given task called

Versioning and Backward Compatibility

This project follows semantic versioning.

Roadmap

[ ] Run tasks in worker

[ ] Support cron syntax

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

Package Sidebar

Install

npm i jobr

Weekly Downloads

2

Version

0.1.2

License

MIT

Unpacked Size

100 kB

Total Files

47

Last publish

Collaborators

  • sezginege