Files
test-auth/run-cron.py

43 lines
939 B
Python
Executable File

#!/usr/bin/env python
"""Executes a Django cronjob"""
import os
# Activate the virtualenv
path = os.path.dirname(os.path.realpath( __file__ ))
os.chdir(path)
activate_this = os.path.join(path, 'env/bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
import sys
import logging
from django.core.management import setup_environ
import settings
setup_environ(settings)
logging.basicConfig(level=logging.DEBUG)
log = logging.getLogger('runcron')
try:
mod = __import__(sys.argv[1])
except ImportError:
raise Exception('Error creating service')
for i in sys.argv[1].split(".")[1:]:
mod = getattr(mod, i)
cron_class = getattr(mod, sys.argv[2])()
log.info("Starting Job %s in %s" % (sys.argv[2], sys.argv[1]))
try:
if len(sys.argv) >= 3:
args = sys.argv[3:]
else:
args = []
cron_class.job(args)
except KeyboardInterrupt:
log.error("aborting.")
log.info("Job complete")