0.1.2 • Published 3 years ago

jobr v0.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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 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

NameDescription
nameJob name (required)
taskFunction that will be invoked at spesified intervals (required)
intervalInterval value in millisecond (required)
stopOnFailSetting true will stop the job if task fails (optional, default: false)

API

NameDescription
startStarts the job. If job already started, it will throw an error.
stopStops the job. If job is not started, it will throw an error.
subscribeRegister your listener for a job event. Returns unsubscribe callback.
isRunningReturns true if job is active

Events

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

NameDescription
createdWill be invoked once job created.
startedWill be invoked when job started.
stoppedWill be invoked when job stopped.
successWill be invoked after task successfully executed.
errorWill be invoked after task failed
invokedWill 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