How to create your own cron in Total.js?

Mon May 22 2017 10:35:00 GMT+0200 (CEST), Peter Širka

How to create own cron with help of Total.js?

Total.js can be used anywhere, you just need to know how to use it. This tutorial describes how to create custom cron using Total.js framework.

Cron in a web application

In a web application we can choose whether we want the cron to run in same thread or in a new thread (worker).

Cron executed in the same thread

  • create a definition file e.g. cron.js
  • we use F.schedule() for creating the job
// Create a cron
F.schedule('10:00', '1 day', cronscope);
F.schedule('14:00', '1 day', cronscope);
F.schedule('18:00', '1 day', cronscope);
F.schedule('22:00', '1 day', cronscope);
F.schedule('02:00', '1 day', cronscope);
F.schedule('06:00', '1 day', cronscope);

// This method will be executed every 4 hours everyday
function cronscope() {
   console.log('CRON EXECUTED');
   // what you want to do here is on you
}

Cron executed as a worker (new thread)

  • create a definition file e.g. cron.js
  • create a worker file e.g. cron.js
  • we use F.schedule() for creating timing

definitions/cron.js:

// Create a cron
F.schedule('10:00', '1 day', cronscope);
F.schedule('14:00', '1 day', cronscope);
F.schedule('18:00', '1 day', cronscope);
F.schedule('22:00', '1 day', cronscope);
F.schedule('02:00', '1 day', cronscope);
F.schedule('06:00', '1 day', cronscope);

// This method will be executed every 4 hours everyday
function cronscope() {
    // Now we run a cron worker
    F.worker('cron');
}

workers/cron.js:

console.log('CRON EXECUTED');
// what you want to do here is on you

Cron as a server service

  • create a script e.g. cron.js
require('total.js').load('release', ['service']);

// Create a cron
F.schedule('10:00', '1 day', cronscope);
F.schedule('14:00', '1 day', cronscope);
F.schedule('18:00', '1 day', cronscope);
F.schedule('22:00', '1 day', cronscope);
F.schedule('02:00', '1 day', cronscope);
F.schedule('06:00', '1 day', cronscope);

// This method will be executed every 4 hours everyday
function cronscope() {
   console.log('CRON EXECUTED');
   // what you want to do here is on you
}
  • run it $ node cron.js

Tags

Follow us

Latest blogs
New CDN for Flow + Dashboard + Flowboard
Sun Nov 04 2018 09:05:03 GMT+0100 (CET)
OpenPlatform v3
Mon Oct 15 2018 10:11:07 GMT+0200 (CEST)
New Single Page Application template
Fri Oct 12 2018 21:25:34 GMT+0200 (CEST)
Flow: How to find a specific component?
Mon Sep 03 2018 20:21:30 GMT+0200 (CEST)
Total.js CMS v12
Mon Sep 03 2018 10:25:29 GMT+0200 (CEST)

Latest comments
Nice tip
Mauro Junior
Thu Sep 20 2018 21:41:02 GMT+0200 (CEST)
Not only for Total.js. You can communicate with different websocket servers.
Peter Širka
Mon Apr 23 2018 20:08:20 GMT+0200 (CEST)
Is WEBSOCKETCLIENT only for internal ws connections between totaljs apps?
Stelios Stephanua
Fri Mar 16 2018 06:04:22 GMT+0100 (CET)
Total.js is amazing! ;)
Leonardo Hessel
Tue Dec 19 2017 19:51:15 GMT+0100 (CET)

Pixabay

Read more

New CDN for Flow + Dashboard + Flowboard

News: I have changed CDN for Flow + Dashboard + Flowboard components to KeyCDN.

Sun Nov 04 2018 09:05:03 GMT+0100 (CET)
OpenPlatform v3

News: I have published a new version of OpenPlatform. New, better, faster, more secure and more simpler.

Mon Oct 15 2018 10:11:07 GMT+0200 (CEST)
New Single Page Application template

News: I have published free, beautiful and simple Total.js + jComponent SPA template under MIT license.

Fri Oct 12 2018 21:25:34 GMT+0200 (CEST)
Flow: How to find a specific component?

Tutorials: This tutorial shows you a quick way how to find a specific component in the Flow designer.

Mon Sep 03 2018 20:21:30 GMT+0200 (CEST)1
Total.js CMS v12

News: New version of CMS brings cool new features and new possibilities for your websites.

Mon Sep 03 2018 10:25:29 GMT+0200 (CEST)
Total.js Platform has a new direction

Business: We have changed the direction for Total.js platform. Currently all Total.js premium products are free.

Wed Aug 01 2018 13:46:17 GMT+0200 (CEST)