|
2 | 2 |
|
3 | 3 | from functools import partial |
4 | 4 |
|
5 | | -from celery.signals import worker_init, worker_shutdown # type: ignore[import-untyped] |
6 | 5 | from celery_library.common import create_app as create_celery_app |
7 | 6 | from celery_library.signals import ( |
8 | 7 | on_worker_init, |
9 | | - on_worker_shutdown, |
10 | 8 | ) |
11 | 9 | from servicelib.fastapi.celery.app_server import FastAPIAppServer |
12 | 10 | from servicelib.logging_utils import setup_loggers |
|
16 | 14 | from .worker_tasks.tasks import setup_worker_tasks |
17 | 15 |
|
18 | 16 |
|
19 | | -def _get_settings() -> ApplicationSettings: |
20 | | - return ApplicationSettings.create_from_envs() |
| 17 | +def get_app(): |
| 18 | + _settings = ApplicationSettings.create_from_envs() |
21 | 19 |
|
| 20 | + setup_loggers( |
| 21 | + log_format_local_dev_enabled=_settings.API_SERVER_LOG_FORMAT_LOCAL_DEV_ENABLED, |
| 22 | + logger_filter_mapping=_settings.API_SERVER_LOG_FILTER_MAPPING, |
| 23 | + tracing_settings=_settings.API_SERVER_TRACING, |
| 24 | + log_base_level=_settings.log_level, |
| 25 | + noisy_loggers=None, |
| 26 | + ) |
22 | 27 |
|
23 | | -_settings = _get_settings() |
24 | | - |
25 | | -setup_loggers( |
26 | | - log_format_local_dev_enabled=_settings.API_SERVER_LOG_FORMAT_LOCAL_DEV_ENABLED, |
27 | | - logger_filter_mapping=_settings.API_SERVER_LOG_FILTER_MAPPING, |
28 | | - tracing_settings=_settings.API_SERVER_TRACING, |
29 | | - log_base_level=_settings.log_level, |
30 | | - noisy_loggers=None, |
31 | | -) |
32 | | - |
33 | | -assert _settings.API_SERVER_CELERY # nosec |
34 | | -app = create_celery_app(_settings.API_SERVER_CELERY) |
| 28 | + assert _settings.API_SERVER_CELERY # nosec |
| 29 | + app = create_celery_app(_settings.API_SERVER_CELERY) |
| 30 | + setup_worker_tasks(app) |
35 | 31 |
|
36 | | -app_server = FastAPIAppServer(app=create_app(_settings)) |
| 32 | + return app |
37 | 33 |
|
38 | 34 |
|
39 | 35 | def worker_init_wrapper(sender, **_kwargs): |
| 36 | + _settings = ApplicationSettings.create_from_envs() |
40 | 37 | assert _settings.API_SERVER_CELERY # nosec |
| 38 | + app_server = FastAPIAppServer(app=create_app(_settings)) |
| 39 | + |
41 | 40 | return partial(on_worker_init, app_server, _settings.API_SERVER_CELERY)( |
42 | 41 | sender, **_kwargs |
43 | 42 | ) |
44 | | - |
45 | | - |
46 | | -worker_init.connect(worker_init_wrapper) |
47 | | -worker_shutdown.connect(on_worker_shutdown) |
48 | | - |
49 | | -setup_worker_tasks(app) |
0 commit comments