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'),
+ ManageTask('localepack', '-c'),
+ ]
env.services = [
Supervisord('wolnelektury'),
Supervisord('wolnelektury.celery'),
+ Memcached(),
]
-def update_counters():
- print '>>> update counters'
- require('app_path', 'project_name')
- with cd(get_django_root_path('current')):
- run('%(ve)s/bin/python manage.py update_counters' % env, pty=True)
-
-
@task
def beta():
env.hosts = ['giewont.icm.edu.pl']
env.django_root_path = 'src'
env.requirements_file = 'requirements/requirements.txt'
env.pre_collectstatic = [
- update_counters,
+ ManageTask('update_counters'),
+ ManageTask('localepack', '-c'),
]
env.services = [
Supervisord('beta'),