How to create your own cron in Total.js?

Mon May 22 2017 10:35:00 GMT+0200 (Central European Summer Time), 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
Total.js Wiki v2
Fri Jan 04 2019 22:15:01 GMT+0100 (Central European Standard Time)
Total Year 2018
Thu Jan 03 2019 21:14:00 GMT+0100 (Central European Standard Time)
Total.js Code Editor v1
Fri Dec 07 2018 22:55:13 GMT+0100 (Central European Standard Time)
New release: Total.js v3.1
Fri Dec 07 2018 11:41:40 GMT+0100 (Central European Standard Time)
New CDN for Flow + Dashboard + Flowboard
Sun Nov 04 2018 09:05:03 GMT+0100 (Central European Standard Time)

Latest comments
Nice tip
Mauro Junior
Thu Sep 20 2018 21:41:02 GMT+0200 (Central European Summer Time)
Not only for Total.js. You can communicate with different websocket servers.
Peter Širka
Mon Apr 23 2018 20:08:20 GMT+0200 (Central European Summer Time)
Marko: you need to create a buffer with this codepage and write byte-to-byte string. I recommend ...
Peter Širka
Mon Apr 23 2018 20:06:21 GMT+0200 (Central European Summer Time)
Is WEBSOCKETCLIENT only for internal ws connections between totaljs apps?
Stelios Stephanua
Fri Mar 16 2018 06:04:22 GMT+0100 (Central European Standard Time)
Total.js is amazing! ;)
Leonardo Hessel
Tue Dec 19 2017 19:51:15 GMT+0100 (Central European Standard Time)

Pixabay


Read more

Total.js Wiki v2

Products: I have released a new version of Total.js Wiki. New version brings new improvements.

Fri Jan 04 2019 22:15:01 GMT+0100 (Central European Standard Time)
Total Year 2018

Business: Last year was perfect for Total.js platform. Total.js platform grows up and it has great results.

Thu Jan 03 2019 21:14:00 GMT+0100 (Central European Standard Time)
Total.js Code Editor v1

Products: Try our real-time collaboration tool for Total Developers. Code Editor offers great features for development.

Fri Dec 07 2018 22:55:13 GMT+0100 (Central European Standard Time)
New release: Total.js v3.1

News: I have released a new version of Total.js with bug fixes and with small improvements.

Fri Dec 07 2018 11:41:40 GMT+0100 (Central European Standard Time)
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 (Central European Standard Time)
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 (Central European Summer Time)