Heroku web process timeout while running a daemon server of node.js backed with mongodb -



Heroku web process timeout while running a daemon server of node.js backed with mongodb -

i have running daemon server post social network feeds on scheduled time.

currently, have issue while running daemon server written in node.js , express framework backed mongodb.

please see next error got heroku logs command.

←[36m2014-11-05t12:07:26.934753+00:00 app[web.1]:←[0m daemon worker process online. ←[36m2014-11-05t12:07:28.147952+00:00 app[web.1]:←[0m starting daemon server ←[36m2014-11-05t12:07:28.230621+00:00 app[web.1]:←[0m apn agent connected. ←[36m2014-11-05t12:07:27.730718+00:00 app[web.1]:←[0m connected mongodb ←[36m2014-11-05t12:08:27.375215+00:00 heroku[web.1]:←[0m state changed starting crashed ←[36m2014-11-05t12:07:23.455341+00:00 heroku[web.1]:←[0m state changed crashed starting ←[36m2014-11-05t12:08:26.523383+00:00 heroku[web.1]:←[0m error r10 (boot timeout) -> web process failed bind $port within 60 seconds of launch ←[36m2014-11-05t12:08:26.523870+00:00 heroku[web.1]:←[0m stopping process sigkill ←[36m2014-11-05t12:08:27.369727+00:00 heroku[web.1]:←[0m process exited status 137

as can see daemon server script run after heroku log showing me boot timeout error.

var cluster = require('cluster') if(cluster.ismaster){ cluster.fork() cluster.on('online', function(worker){ console.log('daemon worker process online.') }) cluster.on('exit', function(worker){ console.log('daemon worker process has died. booting another.') cluster.fork() }) } else { var mongoose = require('mongoose') var mongodburi if(process.argv.indexof('localdb') != -1){ mongodburi = 'mongodb://[ip]/[appname]' } else { //mongodburi = 'mongodb://[db url]' mongodburi = '[db url]' } var mongodboptions = {} if(process.env.mongodb_uri) mongodburi = process.env.mongodb_uri if(process.env.mongodb_options) mongodboptions = json.stringify(process.env.mongodb_options) var agenda = require('agenda') var agenda = new agenda() .database(mongodburi, 'daemontasks') .processevery('1 minute') //on termination of daemon, gracefully shut downwards jobs function gracefulshutdown() { agenda.stop(function() { console.log("shutting downwards daemon server") process.exit(0) }) } process.on('sigterm', gracefulshutdown) process.on('sigint' , gracefulshutdown) var fs = require('fs-extra') mongoose.connect(mongodburi, mongodboptions) var db = mongoose.connection db.on('error', function(err){ //if database can not connected to, die console.error("error connecting mongodb\r\n", err) process.exit() }) db.once('open', function(){ //connection successful console.log("successfully connected mongodb") //begin loading our schema require('./models/models')(mongoose, function(err, models){ //set agenda piece var agenda = require('agenda') models.agenda = new agenda() .database(mongodburi, 'daemontasks') // connect apple force notification service models.apnagent = require('./modules/apnagent')(models) if(err){ console.log("error loading models\r\n", err) process.exit() } var async = require('async') fs.readdir('./daemons/', function(err, files){ if(err){ console.log(err) cb(err) } else { async.each(files, function(file, cb){ fs.lstat('./daemons/' + file, function(err, stat){ if(err){ cb(err) } else { if(stat.isfile()){ var daemon = require('./daemons/' + file)(models) agenda.define(daemon.name, daemon.options, daemon.job) cb(null) } else { cb(err) } } }) }, function(err){ if(err){ console.log("error starting daemon server: ", err) homecoming } console.log("starting daemon server") agenda.start() }) } }) }) }) }

i have researched on web , found solutions suggest problem increment web process time did not find place on heroku can set value.

node.js mongodb heroku express daemon

Comments

Popular posts from this blog

assembly - What is the addressing mode for ld, add, and rjmp instructions? -

vowpalwabbit - Interpreting Vowpal Wabbit results: Why are some lines appended by "h"? -

Is there a way to convert an HTML page styled with Bootstrap CSS into email-compatible html? -