@tailored-apps/taskrunner
v1.0.1
Published
A small library providing various utility functions used in tailored apps backends (propably not very useful for anyone else)
Downloads
56
Readme
@tailored-apps/taskrunner
@tailored-apps/taskrunner is a simple class which helps running and queueing background tasks. If you run multiple tasks at the same time, the runner take care that only once is running and all others will be locally queued. This is as well part of the api-skeleton-2.
Installation and Updating
npm install @tailored-apps/taskrunner
Usage
import Taskrunner from '@tailored-apps/taskrunner'
const task = new Taskrunner(task, interval, logger, friendlyName, logLevel)
task.run()
Options
| Name | Default Value | Description |
| ------------ | -------------- | ---------------------------------------------------------------------- |
| task | | the function which should be executed |
| interval | | the interval, in seconds, between the task should run again |
| logger | | any valid logger, like winston |
| friendlyName | PeriodicTask
| an human readable name for the task, which will be shown in the logs |
| logLevel | info
| selector of which kind of logs should be created by the taskrunner |
Statistics
If you want to save task statics, for example in your selected database, you are able to extend taskrunner and overwrite the saveStat (stats)
function.
import Taskrunner from '@tailored-apps/taskrunner'
class ExtendedTaskrunner extends Taskrunner {
saveStats (stats) {
// add your prefered way to save task statistics here
}
}
export default ExtendedTaskrunner
stats
| Property | Format | Value | | -------- | ------- | ------------------------------------ | | error | boolean | if the task failed | | task | string | the friendly task name | | start | date | execution start date | | end | date | execution end date | | elapsed | number | the duration of the task, in seconds |