sbt-idp/cope2n-api/fwd_api/celery_worker/worker.py

79 lines
2.7 KiB
Python
Raw Normal View History

2023-11-30 11:19:06 +00:00
import os
import django
from celery import Celery
2024-06-26 07:58:24 +00:00
from celery.signals import setup_logging # noqa
2023-11-30 11:19:06 +00:00
from kombu import Queue
2024-06-26 07:58:24 +00:00
import copy
2023-11-30 11:19:06 +00:00
from fwd import settings
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fwd.settings")
django.setup()
app: Celery = Celery(
'postman',
broker=settings.BROKER_URL,
2024-01-31 03:00:18 +00:00
include=['fwd_api.celery_worker.process_result_tasks', 'fwd_api.celery_worker.internal_task', 'fwd_api.celery_worker.process_report_tasks'],
2023-12-14 06:26:16 +00:00
broker_transport_options={'confirm_publish': False},
2023-11-30 11:19:06 +00:00
)
2023-12-25 03:32:09 +00:00
app.config_from_object("django.conf:settings", namespace="CELERY")
app.autodiscover_tasks()
2024-06-26 07:58:24 +00:00
@setup_logging.connect
def config_loggers(*args, **kwargs):
from logging.config import dictConfig # noqa
from django.conf import settings # noqa
2023-12-25 03:32:09 +00:00
2024-06-26 07:58:24 +00:00
log_config = copy.deepcopy(settings.LOGGING)
if log_config.get("handlers", {}).get("file", {}).get("filename", None):
log_config["handlers"]["file"]["filename"] = log_config["handlers"]["file"]["filename"].replace(".log", "_celery.log")
dictConfig(log_config)
2023-12-25 03:32:09 +00:00
2023-11-30 11:19:06 +00:00
app.conf.update({
'task_queues':
[
Queue('invoice_sap_rs'),
Queue('invoice_fi_rs'),
Queue('invoice_manulife_rs'),
Queue('invoice_sbt_rs'),
Queue('do_pdf'),
Queue('upload_file_to_s3'),
Queue('upload_feedback_to_s3'),
2023-11-30 11:19:06 +00:00
Queue('upload_obj_to_s3'),
2024-02-01 07:32:20 +00:00
Queue('upload_report_to_s3'),
2023-12-25 11:48:50 +00:00
Queue('remove_local_file'),
2024-01-09 12:41:17 +00:00
Queue('csv_feedback'),
2024-01-31 03:00:18 +00:00
Queue('report'),
2024-02-05 05:56:51 +00:00
Queue('report_2'),
2023-11-30 11:19:06 +00:00
],
'task_routes': {
'process_sap_invoice_result': {'queue': 'invoice_sap_rs'},
'process_sap_invoice': {'queue': "invoice_sap"},
'process_fi_invoice_result': {'queue': 'invoice_fi_rs'},
'process_fi_invoice': {'queue': "invoice_fi"},
'process_manulife_invoice_result': {'queue': 'invoice_manulife_rs'},
'process_manulife_invoice': {'queue': "invoice_manulife"},
'process_sbt_invoice_result': {'queue': 'invoice_sbt_rs'},
'process_sbt_invoice': {'queue': "invoice_sbt"},
'do_pdf': {'queue': "do_pdf"},
'upload_file_to_s3': {'queue': "upload_file_to_s3"},
2024-01-09 12:41:17 +00:00
'upload_feedback_to_s3': {'queue': "upload_feedback_to_s3"},
'upload_obj_to_s3': {'queue': "upload_obj_to_s3"},
2024-02-01 07:32:20 +00:00
'upload_report_to_s3': {'queue': "upload_report_to_s3"},
2023-12-25 11:48:50 +00:00
'remove_local_file': {'queue': "remove_local_file"},
2024-01-09 12:41:17 +00:00
'csv_feedback': {'queue': "csv_feedback"},
2024-01-31 03:00:18 +00:00
'make_a_report': {'queue': "report"},
2024-02-05 05:56:51 +00:00
'make_a_report_2': {'queue': "report_2"},
2023-11-30 11:19:06 +00:00
}
})
if __name__ == "__main__":
argv = [
'worker',
'--loglevel=INFO',
'--pool=solo' # Window opts
]
app.worker_main(argv)