diff --git a/config/monit_original.conf b/config/monit_original.conf new file mode 100644 index 000000000..bf0595737 --- /dev/null +++ b/config/monit_original.conf @@ -0,0 +1,12 @@ +set daemon 120 + +set logfile /var/log/monit.log + +set eventqueue + basedir /var/monit # set the base directory where events will be stored + slots 100 # optionally limit the queue size + +# If no feeds have been fetched in the last 10 minutes, something is wrong +check file task-newsblur.log with path /srv/newsblur/logs/original_page.log + if timestamp > 10 minutes then exec "/srv/newsblur/utils/kill_node.sh" + # as uid sclay and gid sclay diff --git a/fabfile.py b/fabfile.py index d40ef4288..720b3318a 100644 --- a/fabfile.py +++ b/fabfile.py @@ -491,6 +491,11 @@ def config_monit_node(): sudo('echo "START=yes" > /etc/default/monit') sudo('/etc/init.d/monit restart') +def config_monit_original(): + put('config/monit_original.conf', '/etc/monit/conf.d/node_original.conf', use_sudo=True) + sudo('echo "START=yes" > /etc/default/monit') + sudo('/etc/init.d/monit restart') + def config_monit_app(): put('config/monit_app.conf', '/etc/monit/conf.d/gunicorn.conf', use_sudo=True) sudo('echo "START=yes" > /etc/default/monit') @@ -1005,6 +1010,7 @@ def setup_original_page_server(): setup_node_app() sudo('mkdir -p /srv/originals') sudo('chown %s.%s -R /srv/originals' % (env.user, env.user)) # We assume that the group is the same name as the user. It's common on linux + config_monit_original() put('config/supervisor_node_original.conf', '/etc/supervisor/conf.d/node_original.conf', use_sudo=True) sudo('supervisorctl reread')