node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »


Diet: Tasks

With tasks.js you can schedule events in node.js.


If you have dietjs then it's already installed.

npm install diet-tasks


  • When you create a task it will be saved to the task.json file too so the tasks will be saved even after you restared your node app.
  • Overdue tasks will fire imediately when you start your nodejs app.

Initialize and Create a Task

// Initialize Dietjs App 
var app = new Application(options);
// Initialize Tasks 
tasks.init();  // initalize 
tasks.check();  // complete all due tasks (because of a power failure, system reboot, server restart etc.) 
// CREATE a task 
    id  : 'MyTask',  // A unique name is required 
    seconds  : +5,  // Run function after 5 seconds 
    repeat  : true,  // Re-create the task after completion 
    function : 'MyTaskFunction'  // Runs tasks.functions.MyTaskFunction 

Complete a task by running then deleting it


Delete a task without running it


Task Functions

These are callbacks when the task finished.

tasks.functions.MyTaskFunction = function(task){
    console.log('Task completed: ',;

Arguments for tasks.create

Basic and date arguments are restricted and should never be used to pass data with them.

  • Basic arguments

    • id: A unique identifier for the task (required)
    • repeat: Repeat the task upon completion or not. (false, optional)
    • function: A callback function name that represents a function from tasks.functions like tasks.functions.MyTaskFunction which will be called upon task completion. (required)
  • Date arguments (at least one is required)

    • years
    • months
    • days
    • hours
    • minutes
    • seconds
    • milliseconds
  • Custom arguments: Everything else you add is a custom argument and can be used to pass additional data to the callback function.