Refactor fileservertasks into top level module

This change moves the fileservertasks module to the top level to allow
keeping the same task names when running in a Python 3 environment.
This commit is contained in:
Jan Dittberner 2020-03-04 16:53:50 +01:00
parent cbd8e37e8e
commit 26aae0173d
9 changed files with 118 additions and 109 deletions

View file

@ -2,3 +2,8 @@
This module contains :py:mod:`fileservertasks.tasks`.
"""
__version__ = "0.6.0"
from fileservertasks.celery import app as celery_app
__all__ = ('celery_app',)

View file

@ -9,7 +9,7 @@ from __future__ import absolute_import
from celery import Celery
#: The Celery application
app = Celery('gvafile')
app = Celery('fileservertasks')
app.config_from_object('gvafile.settings')
app.autodiscover_tasks(['fileservertasks'], force=True)
app.config_from_object('fileservertasks.settings')
app.autodiscover_tasks(['fileservertasks.tasks'], force=True)

View file

@ -25,23 +25,20 @@ def get_env_variable(setting):
########## CELERY CONFIGURATION
CELERY_TIMEZONE = 'Europe/Berlin'
CELERY_TIMEZONE = "Europe/Berlin"
CELERY_ENABLE_UTC = True
CELERY_RESULT_BACKEND = get_env_variable('GVAFILE_RESULTS_REDIS_URL')
CELERY_RESULT_BACKEND = get_env_variable("GVAFILE_RESULTS_REDIS_URL")
CELERY_RESULT_PERSISTENT = True
CELERY_TASK_RESULT_EXPIRES = None
CELERY_ROUTES = (
'gvacommon.celeryrouters.GvaRouter',
)
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
BROKER_URL = get_env_variable('GVAFILE_BROKER_URL')
CELERY_ROUTES = ("gvacommon.celeryrouters.GvaRouter",)
CELERY_ACCEPT_CONTENT = ["json"]
CELERY_TASK_SERIALIZER = "json"
CELERY_RESULT_SERIALIZER = "json"
BROKER_URL = get_env_variable("GVAFILE_BROKER_URL")
########## END CELERY CONFIGURATION
########## GVAFILE CONFIGURATION
GVAFILE_SFTP_DIRECTORY = get_env_variable('GVAFILE_SFTP_DIRECTORY')
GVAFILE_MAIL_DIRECTORY = get_env_variable('GVAFILE_MAIL_DIRECTORY')
GVAFILE_SFTP_AUTHKEYS_DIRECTORY = get_env_variable(
'GVAFILE_SFTP_AUTHKEYS_DIRECTORY')
GVAFILE_SFTP_DIRECTORY = get_env_variable("GVAFILE_SFTP_DIRECTORY")
GVAFILE_MAIL_DIRECTORY = get_env_variable("GVAFILE_MAIL_DIRECTORY")
GVAFILE_SFTP_AUTHKEYS_DIRECTORY = get_env_variable("GVAFILE_SFTP_AUTHKEYS_DIRECTORY")
########## END GVAFILE CONFIGURATION

View file

@ -11,7 +11,7 @@ import os
import subprocess
from tempfile import mkstemp
from gvafile import settings
from fileservertasks import settings
from celery import shared_task
from celery.utils.log import get_task_logger

View file

@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
class GvaRouter(object):
def route_for_task(self, task, args=None, kwargs=None):
for route in ["ldap", "file", "mysql", "pgsql", "web"]:
if route in task:
return {"exchange": route, "exchange_type": "direct", "queue": route}
return None