From 070a1071c9f0323cb815dce5e605f57cd018c39d Mon Sep 17 00:00:00 2001 From: Senad Uka Date: Thu, 5 Jan 2017 15:39:34 +0100 Subject: [PATCH] cron jobs starting --- app/lib/zoblak.js | 19 +++++++++++++++++++ app/server/methods.js | 1 + app/server/startup.js | 17 ++++++++++++++++- 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/app/lib/zoblak.js b/app/lib/zoblak.js index 7f966b2..700d55a 100644 --- a/app/lib/zoblak.js +++ b/app/lib/zoblak.js @@ -40,5 +40,24 @@ Meteor.zoblak.server = { result = {} }; return result; + }, + + on_all_controllers: function(whatToDo) { + var ids = ControllerState.find({}, { + fields: { + 'controller_id': 1 + } + }).map(function(cid) { + return cid.controller_id + }); + + for (var index in ids) { + var controller_id = ids[index]; + try { + whatToDo(controller_id); + } catch(err) { + console.log('Cannot call ', whatToDo, controller_id, err); + } + } } } diff --git a/app/server/methods.js b/app/server/methods.js index 11a169d..7171cb1 100644 --- a/app/server/methods.js +++ b/app/server/methods.js @@ -158,6 +158,7 @@ function saveAlarmSettings(controller_id, minTemperature, maxTemperature, timeou 'config.sms4': smsNumbers[3] } }); + var jobName = "automatic_alarm_" + controller_id; SyncedCron.remove(jobName); diff --git a/app/server/startup.js b/app/server/startup.js index 9471617..c398f6e 100644 --- a/app/server/startup.js +++ b/app/server/startup.js @@ -2,6 +2,21 @@ if (Meteor.isServer) { Meteor.startup(function() { // code to run on server at startup SyncedCron.start(); + + Meteor.zoblak.server.on_all_controllers(function(controller_id) { + var jobName = "automatic_alarm_" + controller_id; + + SyncedCron.remove(jobName); + SyncedCron.add({ + name: jobName, + schedule: function(parser) { + return parser.text('every 10 seconds'); + }, + job: function() { + reactToAlarmData(controller_id); + } + }); + }); }); @@ -23,7 +38,7 @@ if (Meteor.isServer) { tankLevel2: this.bodyParams.tankLevel2, tankLevel3: this.bodyParams.tankLevel3, tankLevel4: this.bodyParams.tankLevel4, - tankFull: this.bodyParams.tankFull, + tankFull: this.bodyParams.tankFull, startPumpingAt: this.bodyParams.startPumpingAt, stopPumpingAt: this.bodyParams.stopPumpingAt, owner: this.bodyParams.owner,