+# -*- coding: utf-8 -*-
from fnpdeploy import *
+
try:
from fabfile_local import *
except ImportError:
env.project_name = 'wolnelektury'
+class ManageTask(Task):
+ def __init__(self, name, params='', **kwargs):
+ super(ManageTask, self).__init__(**kwargs)
+ self.name = name
+ self.params = params
+
+ def run(self):
+ require('app_path', 'project_name')
+ with cd(get_django_root_path('current')):
+ run('source %(ve)s/bin/activate && python manage.py %(task)s %(params)s' % {
+ 've': env.ve,
+ 'task': self.name,
+ 'params': self.params,
+ }, pty=True)
+
+
+class Memcached(Service):
+ def run(self):
+ print '>>> memcached: restart'
+ sudo('/etc/init.d/memcached restart', shell=False)
+
+
@task
def production():
env.hosts = ['giewont.icm.edu.pl']
env.app_path = '/srv/wolnelektury.pl'
env.django_root_path = 'src'
env.requirements_file = 'requirements/requirements.txt'
+ env.pre_collectstatic = [
+ ManageTask('update_counters'),
+ ]
env.services = [
Supervisord('wolnelektury'),
Supervisord('wolnelektury.celery'),
+ Memcached(),
]
env.ve = '/srv/wolnelektury.pl/ve'
env.django_root_path = 'src'
env.requirements_file = 'requirements/requirements.txt'
+ env.pre_collectstatic = [
+ ManageTask('update_counters'),
+ ]
env.services = [
Supervisord('beta'),
]