Added setupcronbeat command
This commit is contained in:
parent
fb16320445
commit
3207f7de8b
|
@ -0,0 +1,25 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.management.base import BaseCommand, CommandError
|
||||||
|
|
||||||
|
from orchestra.utils.paths import get_site_dir
|
||||||
|
from orchestra.utils.sys import run
|
||||||
|
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
help = 'Runs periodic tasks.'
|
||||||
|
|
||||||
|
def handle(self, *args, **options):
|
||||||
|
context = {
|
||||||
|
'site_dir': get_site_dir(),
|
||||||
|
'orchestra_beat': run('which orchestra-beat').stdout.decode('utf8'),
|
||||||
|
'venv': os.environ.get('VIRTUAL_ENV', ''),
|
||||||
|
}
|
||||||
|
content = run('crontab -l').stdout.decode('utf8')
|
||||||
|
if 'orchestra-beat' not in content:
|
||||||
|
if context['venv']:
|
||||||
|
content += "* * * * * . %(venv)s/bin/activate && %(orchestra_beat)s %(site_dir)s/manage.py; deactivate" % context
|
||||||
|
else:
|
||||||
|
content += "* * * * * %(orchestra_beat)s %(site_dir)s/manage.py" % context
|
||||||
|
context['content'] = content
|
||||||
|
run("echo '%(content)s' | crontab" % context, display=True)
|
Loading…
Reference in New Issue