Skip to content

Commit ce82a27

Browse files
fix storage
1 parent 5dcda9c commit ce82a27

File tree

3 files changed

+31
-18
lines changed
  • packages/celery-library/src/celery_library/worker
  • services/storage

3 files changed

+31
-18
lines changed

packages/celery-library/src/celery_library/worker/signals.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,5 @@ def register_worker_signals(
6767
)
6868
worker_process_shutdown.connect(_worker_shutdown_wrapper(app), weak=False)
6969
case _:
70-
worker_init.connect(
71-
_worker_init_wrapper(app, app_server_factory), weak=False
72-
)
73-
worker_shutdown.connect(_worker_shutdown_wrapper(app), weak=False)
70+
worker_init.connect(_worker_init_wrapper(app, app_server_factory))
71+
worker_shutdown.connect(_worker_shutdown_wrapper(app))

services/storage/src/simcore_service_storage/modules/celery/worker/main.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
from ....core.application import create_app
88
from ....core.settings import ApplicationSettings
99

10-
_settings = ApplicationSettings.create_from_envs()
11-
_tracing_config = TracingConfig.create(
12-
tracing_settings=_settings.STORAGE_TRACING,
13-
service_name="storage-celery-worker",
14-
)
15-
1610

1711
def get_app():
12+
_settings = ApplicationSettings.create_from_envs()
13+
_tracing_config = TracingConfig.create(
14+
tracing_settings=_settings.STORAGE_TRACING,
15+
service_name="storage-celery-worker",
16+
)
17+
1818
setup_loggers(
1919
log_format_local_dev_enabled=_settings.STORAGE_LOG_FORMAT_LOCAL_DEV_ENABLED,
2020
logger_filter_mapping=_settings.STORAGE_LOG_FILTER_MAPPING,

services/storage/tests/conftest.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,27 +1007,39 @@ def _(celery_app: Celery) -> None: ...
10071007
return _
10081008

10091009

1010+
@pytest.fixture
1011+
def worker_app_settings(
1012+
app_settings: ApplicationSettings,
1013+
) -> ApplicationSettings:
1014+
worker_test_app_settings = app_settings.model_copy(
1015+
update={"STORAGE_WORKER_MODE": True}, deep=True
1016+
)
1017+
print(f"{worker_test_app_settings.model_dump_json(indent=2)=}")
1018+
return worker_test_app_settings
1019+
1020+
1021+
_logger = logging.getLogger(__name__)
1022+
1023+
10101024
@pytest.fixture
10111025
async def with_storage_celery_worker(
1012-
app_environment: EnvVarsDict,
10131026
celery_app: Celery,
1027+
worker_app_settings: ApplicationSettings,
10141028
monkeypatch: pytest.MonkeyPatch,
10151029
register_celery_tasks: Callable[[Celery], None],
10161030
) -> AsyncIterator[TestWorkController]:
10171031
# Signals must be explicitily connected
1018-
monkeypatch.setenv("STORAGE_WORKER_MODE", "true")
1019-
app_settings = ApplicationSettings.create_from_envs()
10201032
tracing_config = TracingConfig.create(
10211033
tracing_settings=None, # disable tracing in tests
10221034
service_name="storage-api",
10231035
)
10241036

1025-
app_server = FastAPIAppServer(app=create_app(app_settings, tracing_config))
1037+
app_server = FastAPIAppServer(app=create_app(worker_app_settings, tracing_config))
10261038

1027-
worker_init.connect(
1028-
_worker_init_wrapper(celery_app, lambda: app_server), weak=False
1029-
)
1030-
worker_shutdown.connect(_worker_shutdown_wrapper(celery_app), weak=False)
1039+
init_wrapper = _worker_init_wrapper(celery_app, lambda: app_server)
1040+
worker_init.connect(init_wrapper, weak=False)
1041+
shutdown_wrapper = _worker_shutdown_wrapper(celery_app)
1042+
worker_shutdown.connect(shutdown_wrapper, weak=False)
10311043

10321044
register_worker_tasks(celery_app)
10331045
register_celery_tasks(celery_app)
@@ -1042,6 +1054,9 @@ async def with_storage_celery_worker(
10421054
) as worker:
10431055
yield worker
10441056

1057+
worker_init.disconnect(init_wrapper)
1058+
worker_shutdown.disconnect(shutdown_wrapper)
1059+
10451060

10461061
@pytest.fixture
10471062
async def storage_rabbitmq_rpc_client(

0 commit comments

Comments
 (0)