Skip to content

Restart process

This script restart process and send email if it failes.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Created on Fri Apr  6 11:13:21 2012

@author: kpatel
"""

import subprocess
import time
import smtplib

# Define you email id to notify
toaddrs = "[email protected]"
# Define Source Email ID
fromaddr = "[email protected]"


def message(msg):
    server = smtplib.SMTP('localhost')
    subject = "Subject: [CRON] Error : failed to execute Process"
    msg = subject + '\n' + msg
    print msg
    server.set_debuglevel(1)
    server.sendmail(fromaddr, toaddrs, msg)
    server.quit()


try:
    args = ['/etc/init.d/postgresql', 'restart']
    subprocess.check_call(args)
except subprocess.CalledProcessError as prit:
    message(str(prit))

time.sleep(60)

try:
    subprocess.check_call(['su', '-', 'kpatel', '-c', 'live/interchange/bin/interchange'])
except subprocess.CalledProcessError as prit:
    message(str(prit))