Move code from gvaweb to webtasks
This change allows celery to find its tasks under the expected webtasks namespace.
This commit is contained in:
parent
9e48e068e2
commit
3b05272254
7 changed files with 38 additions and 35 deletions
|
@ -4,4 +4,4 @@ set -e
|
||||||
|
|
||||||
. /home/gvaweb/gvaweb-venv/bin/activate
|
. /home/gvaweb/gvaweb-venv/bin/activate
|
||||||
cd /srv/gvaweb/gvaweb
|
cd /srv/gvaweb/gvaweb
|
||||||
celery -A gvaweb worker -Q web -l info
|
celery -A webtasks worker -Q web -l info
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
"""
|
|
||||||
This module contains :py:mod:`webtasks.tasks`.
|
|
||||||
|
|
||||||
"""
|
|
10
gvaweb/webtasks/__init__.py
Normal file
10
gvaweb/webtasks/__init__.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
"""
|
||||||
|
This module contains :py:mod:`webtasks.tasks`.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
__version__ = "0.2.0"
|
||||||
|
|
||||||
|
from webtasks.celery import app as celery_app
|
||||||
|
|
||||||
|
__all__ = ("celery_app",)
|
|
@ -7,7 +7,7 @@ This module defines the Celery_ app for gvaweb.
|
||||||
from celery import Celery
|
from celery import Celery
|
||||||
|
|
||||||
#: The Celery application
|
#: The Celery application
|
||||||
app = Celery('gvaweb')
|
app = Celery("webtasks")
|
||||||
|
|
||||||
app.config_from_object('gvaweb.settings')
|
app.config_from_object("webtasks.settings", namespace="CELERY")
|
||||||
app.autodiscover_tasks(['gvaweb.webtasks'], force=True)
|
app.autodiscover_tasks(["webtasks.tasks"], force=True)
|
|
@ -25,22 +25,20 @@ def get_env_setting(setting):
|
||||||
|
|
||||||
|
|
||||||
########## CELERY CONFIGURATION
|
########## CELERY CONFIGURATION
|
||||||
CELERY_TIMEZONE = 'Europe/Berlin'
|
CELERY_TIMEZONE = "Europe/Berlin"
|
||||||
CELERY_ENABLE_UTC = True
|
CELERY_ENABLE_UTC = True
|
||||||
CELERY_RESULT_BACKEND = 'amqp'
|
|
||||||
CELERY_RESULT_PERSISTENT = True
|
CELERY_RESULT_PERSISTENT = True
|
||||||
CELERY_TASK_RESULT_EXPIRES = None
|
CELERY_TASK_RESULT_EXPIRES = None
|
||||||
CELERY_ROUTES = (
|
CELERY_ROUTES = ("gvacommon.celeryrouters.GvaRouter",)
|
||||||
'gvacommon.celeryrouters.GvaRouter',
|
CELERY_ACCEPT_CONTENT = ["json"]
|
||||||
)
|
CELERY_TASK_SERIALIZER = "json"
|
||||||
CELERY_ACCEPT_CONTENT = ['json']
|
CELERY_RESULT_SERIALIZER = "json"
|
||||||
CELERY_TASK_SERIALIZER = 'json'
|
CELERY_RESULT_BACKEND = get_env_setting("GVAWEB_RESULTS_REDIS_URL")
|
||||||
CELERY_RESULT_SERIALIZER = 'json'
|
CELERY_BROKER_URL = get_env_setting("GVAWEB_BROKER_URL")
|
||||||
BROKER_URL = get_env_setting('GVAWEB_BROKER_URL')
|
|
||||||
########## END CELERY CONFIGURATION
|
########## END CELERY CONFIGURATION
|
||||||
|
|
||||||
########## GVAWEB CONFIGURATION
|
########## GVAWEB CONFIGURATION
|
||||||
GVAWEB_NGINX_SITES_AVAILABLE = get_env_setting('GVAWEB_NGINX_SITES_AVAILABLE')
|
GVAWEB_NGINX_SITES_AVAILABLE = get_env_setting("GVAWEB_NGINX_SITES_AVAILABLE")
|
||||||
GVAWEB_NGINX_SITES_ENABLED = get_env_setting('GVAWEB_NGINX_SITES_ENABLED')
|
GVAWEB_NGINX_SITES_ENABLED = get_env_setting("GVAWEB_NGINX_SITES_ENABLED")
|
||||||
GVAWEB_WWWUSER_MOUNT = get_env_setting('GVAWEB_WWWUSER_MOUNT')
|
GVAWEB_WWWUSER_MOUNT = get_env_setting("GVAWEB_WWWUSER_MOUNT")
|
||||||
########## END GVAWEB CONFIGURATION
|
########## END GVAWEB CONFIGURATION
|
|
@ -10,9 +10,7 @@ from jinja2 import Environment, PackageLoader
|
||||||
|
|
||||||
from celery import shared_task
|
from celery import shared_task
|
||||||
from celery.utils.log import get_task_logger
|
from celery.utils.log import get_task_logger
|
||||||
|
from webtasks import settings
|
||||||
from gvaweb import settings
|
|
||||||
|
|
||||||
|
|
||||||
_LOGGER = get_task_logger(__name__)
|
_LOGGER = get_task_logger(__name__)
|
||||||
|
|
||||||
|
@ -22,14 +20,14 @@ LN_CMD = '/bin/ln'
|
||||||
SERVICE_CMD = '/bin/systemctl'
|
SERVICE_CMD = '/bin/systemctl'
|
||||||
INSTALL_CMD = '/usr/bin/install'
|
INSTALL_CMD = '/usr/bin/install'
|
||||||
|
|
||||||
JINJAENV = Environment(loader=PackageLoader('gvaweb.webtasks', 'templates'))
|
JINJA_ENV = Environment(loader=PackageLoader('webtasks', 'templates'))
|
||||||
|
|
||||||
|
|
||||||
def _jinja_parentdomain(domain):
|
def _jinja_parentdomain(domain):
|
||||||
return '.'.join(domain.split('.')[1:])
|
return '.'.join(domain.split('.')[1:])
|
||||||
|
|
||||||
|
|
||||||
JINJAENV.filters['parentdomain'] = _jinja_parentdomain
|
JINJA_ENV.filters['parentdomain'] = _jinja_parentdomain
|
||||||
|
|
||||||
|
|
||||||
def log_and_raise(exception, message, *args):
|
def log_and_raise(exception, message, *args):
|
||||||
|
@ -57,7 +55,7 @@ def _build_document_root_path(sitename, username):
|
||||||
|
|
||||||
|
|
||||||
def _get_template(templatename):
|
def _get_template(templatename):
|
||||||
return JINJAENV.get_template(templatename)
|
return JINJA_ENV.get_template(templatename)
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
|
@ -74,16 +72,16 @@ def create_web_vhost_config(username, sitename, wildcard):
|
||||||
:rtype: boolean
|
:rtype: boolean
|
||||||
|
|
||||||
"""
|
"""
|
||||||
conftmpl = _get_template('vhost.nginx')
|
config_template = _get_template('vhost.nginx')
|
||||||
confdata = conftmpl.render(domain=sitename, wildcard=wildcard)
|
config_data = config_template.render(domain=sitename, wildcard=wildcard)
|
||||||
conffile = None
|
config_file = None
|
||||||
try:
|
try:
|
||||||
nginxtemp, filename = mkstemp()
|
nginx_temp_file, filename = mkstemp()
|
||||||
conffile = os.fdopen(nginxtemp, 'w')
|
config_file = os.fdopen(nginx_temp_file, 'w')
|
||||||
conffile.write(confdata.encode('utf8'))
|
config_file.write(config_data.encode('utf8'))
|
||||||
finally:
|
finally:
|
||||||
if conffile:
|
if config_file:
|
||||||
conffile.close()
|
config_file.close()
|
||||||
try:
|
try:
|
||||||
subprocess.check_output([
|
subprocess.check_output([
|
||||||
SUDO_CMD, INSTALL_CMD, '-o', 'root', '-g', 'root', '-m', '0640',
|
SUDO_CMD, INSTALL_CMD, '-o', 'root', '-g', 'root', '-m', '0640',
|
||||||
|
@ -176,7 +174,7 @@ def create_web_php_fpm_pool_config(username):
|
||||||
:rtype: boolean
|
:rtype: boolean
|
||||||
|
|
||||||
"""
|
"""
|
||||||
# TODO: implement PHP FPM docker management
|
# TODO: implement PHP FPM docker management setup
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@ -190,4 +188,5 @@ def delete_web_php_fpm_pool_config(username):
|
||||||
:rtype: boolean
|
:rtype: boolean
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
# TODO: implement PHP FPM docker management removal
|
||||||
return True
|
return True
|
Loading…
Reference in a new issue