|
3 | 3 | from typing import cast |
4 | 4 |
|
5 | 5 | from fastapi import FastAPI |
| 6 | +from models_library.projects import ProjectID |
| 7 | +from models_library.users import UserID |
6 | 8 | from servicelib.logging_utils import log_context |
7 | 9 |
|
| 10 | +from ...utils.comp_scheduler import Iteration |
| 11 | +from ..db import get_db_engine |
| 12 | +from ..db.repositories.comp_runs import CompRunsRepository |
8 | 13 | from ..rabbitmq import get_rabbitmq_client |
9 | 14 | from ._models import SchedulePipelineRabbitMessage |
| 15 | +from ._publisher import request_pipeline_scheduling |
10 | 16 | from ._scheduler_base import BaseCompScheduler |
11 | 17 | from ._scheduler_factory import create_scheduler |
12 | 18 |
|
13 | 19 | _logger = logging.getLogger(__name__) |
14 | 20 |
|
15 | 21 |
|
16 | | -def _empty_wake_up_callack() -> None: |
17 | | - # TODO: need to re-publish here? |
18 | | - return |
| 22 | +def _empty_wake_up_callack( |
| 23 | + app: FastAPI, user_id: UserID, project_id: ProjectID, iteration: Iteration |
| 24 | +) -> None: |
| 25 | + async def _async_cb(): |
| 26 | + db_engine = get_db_engine(app) |
| 27 | + rabbit_mq_client = get_rabbitmq_client(app) |
| 28 | + comp_run = await CompRunsRepository.instance(db_engine).get( |
| 29 | + user_id=user_id, project_id=project_id, iteration=iteration |
| 30 | + ) |
| 31 | + await request_pipeline_scheduling(comp_run, rabbit_mq_client, db_engine) |
19 | 32 |
|
20 | 33 |
|
21 | 34 | def _get_scheduler_worker(app: FastAPI) -> BaseCompScheduler: |
|
0 commit comments