Start script at boot

From MK Wiki EN
Jump to navigation Jump to search

This code snippet for Upstart (this could be saved as /etc/init/noderedis.conf, for example) starts a tiny script that merely starts a nodejs instance serving another tiny web page:

description     "Start nodejs Redis service"

start on filesystem

expect fork

exec /usr/local/bin/nodejs/start_talktoredis

If the above doesn't work, this one could do it:

description     "Start nodejs Redis service"

start on started network
stop on stopping network

pre-start script
  logger "pre-start for noderedis"
end script

pre-stop script
  logger "pre-stop for noderedis"
end script

script
        nohup /usr/local/bin/nodejs/start_talktoredis 15 2>&1 >> /var/log/noderedis.log &
end script

A better solution might be using daemon.node and using "expect fork" in the Upstart script.

start_talktoredis is responsible for launching the nodsjs server, /usr/bin/node:

#!/bin/sh
echo "Starting talktoredis @ `date`" >> /var/log/mk.log
sleep 30 # Avoid "Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED"
cd /usr/local/bin/nodejs
/usr/bin/node /usr/local/bin/nodejs/talktoredis.js