diff --git a/src/cloudron.js b/src/cloudron.js index 4987c1a89..4052c70d4 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -40,6 +40,7 @@ var apps = require('./apps.js'), clients = require('./clients.js'), config = require('./config.js'), constants = require('./constants.js'), + cron = require('./cron.js'), debug = require('debug')('box:cloudron'), df = require('node-df'), eventlog = require('./eventlog.js'), @@ -139,6 +140,7 @@ function uninitialize(callback) { platform.events.removeListener(platform.EVENT_READY, onPlatformReady); async.series([ + cron.uninitialize, taskmanager.pauseTasks, mailer.stop, platform.uninitialize @@ -153,6 +155,7 @@ function onConfigured(callback) { platform.events.on(platform.EVENT_READY, onPlatformReady); async.series([ + cron.initialize, certificates.ensureFallbackCertificate, platform.initialize, // requires fallback certs in mail container addDnsRecords, diff --git a/src/server.js b/src/server.js index f553b02d5..267fb8c59 100644 --- a/src/server.js +++ b/src/server.js @@ -10,7 +10,6 @@ var assert = require('assert'), auth = require('./auth.js'), clients = require('./clients.js'), cloudron = require('./cloudron.js'), - cron = require('./cron.js'), config = require('./config.js'), database = require('./database.js'), eventlog = require('./eventlog.js'), @@ -19,8 +18,7 @@ var assert = require('assert'), middleware = require('./middleware'), passport = require('passport'), path = require('path'), - routes = require('./routes/index.js'), - taskmanager = require('./taskmanager.js'); + routes = require('./routes/index.js'); var gHttpServer = null; var gSysadminHttpServer = null; @@ -267,7 +265,6 @@ function start(callback) { database.initialize, cloudron.initialize, // keep this here because it reads activation state that others depend on cloudron.configureAdmin, // keep this before cron to block heartbeats until cert is ready - cron.initialize, gHttpServer.listen.bind(gHttpServer, config.get('port'), '127.0.0.1'), gSysadminHttpServer.listen.bind(gSysadminHttpServer, config.get('sysadminPort'), '127.0.0.1'), eventlog.add.bind(null, eventlog.ACTION_START, { userId: null, username: 'boot' }, { version: config.version() }) @@ -281,7 +278,6 @@ function stop(callback) { async.series([ cloudron.uninitialize, - cron.uninitialize, database.uninitialize, auth.uninitialize, gHttpServer.close.bind(gHttpServer),