|
5 | 5 | from typing import List |
6 | 6 |
|
7 | 7 | from celery import Celery |
8 | | -from fab_clientlib import ApiClient, DefaultApi, Configuration |
9 | 8 |
|
10 | 9 | from ai4realnet_orchestrators.orchestrator import Orchestrator |
11 | | -from ai4realnet_orchestrators.railway.test_runner_c4c70f8a import TestRunnerc4c70f8a |
| 10 | +from ai4realnet_orchestrators.railway.playground.test_runner_playground_interactive import TestRunnerPlaygroundInteractive |
| 11 | +from fab_clientlib import ApiClient, DefaultApi, Configuration |
12 | 12 |
|
13 | 13 | logger = logging.getLogger(__name__) |
14 | 14 |
|
15 | 15 | app = Celery( |
16 | | - broker=os.environ.get('BROKER_URL'), |
17 | | - backend=os.environ.get('BACKEND_URL'), |
18 | | - queue=os.environ.get("BENCHMARK_ID"), |
19 | | - broker_use_ssl={ |
20 | | - 'keyfile': os.environ.get("RABBITMQ_KEYFILE"), |
21 | | - 'certfile': os.environ.get("RABBITMQ_CERTFILE"), |
22 | | - 'ca_certs': os.environ.get("RABBITMQ_CA_CERTS"), |
23 | | - 'cert_reqs': ssl.CERT_REQUIRED |
24 | | - } |
| 16 | + broker=os.environ.get('BROKER_URL'), |
| 17 | + backend=os.environ.get('BACKEND_URL'), |
| 18 | + queue=os.environ.get("BENCHMARK_ID"), |
| 19 | + broker_use_ssl={ |
| 20 | + 'keyfile': os.environ.get("RABBITMQ_KEYFILE"), |
| 21 | + 'certfile': os.environ.get("RABBITMQ_CERTFILE"), |
| 22 | + 'ca_certs': os.environ.get("RABBITMQ_CA_CERTS"), |
| 23 | + 'cert_reqs': ssl.CERT_REQUIRED |
| 24 | + } |
25 | 25 | ) |
26 | 26 |
|
27 | 27 | # Playground: https://ai4realnet-int.flatland.cloud/benchmarks/9fbde927-189e-44bb-8432-f63b491aabb0/734144d1-c88c-4371-9dcf-72dd5dfe058e |
28 | 28 | interactive_railway_orchestrator = Orchestrator( |
29 | | - test_runners={ |
30 | | - "c4c70f8a-679c-4044-a9d4-5e0ce0780a0f": TestRunnerc4c70f8a( |
31 | | - test_id="c4c70f8a-679c-4044-a9d4-5e0ce0780a0f", scenario_ids=['cf8e0a9b-14af-43e1-b1fc-e43bf3aaddd7'] |
32 | | - ) |
33 | | - } |
| 29 | + test_runners={ |
| 30 | + "c4c70f8a-679c-4044-a9d4-5e0ce0780a0f": TestRunnerPlaygroundInteractive( |
| 31 | + test_id="c4c70f8a-679c-4044-a9d4-5e0ce0780a0f", scenario_ids=['cf8e0a9b-14af-43e1-b1fc-e43bf3aaddd7'] |
| 32 | + ) |
| 33 | + } |
34 | 34 | ) |
35 | 35 |
|
36 | 36 |
|
37 | 37 | # https://docs.celeryq.dev/en/stable/userguide/tasks.html#bound-tasks: A task being bound means the first argument to the task will always be the task instance (self). |
38 | 38 | # https://docs.celeryq.dev/en/stable/userguide/tasks.html#names: Every task must have a unique name. |
39 | 39 | @app.task(name=os.environ.get("BENCHMARK_ID"), bind=True) |
40 | 40 | def orchestrator(self, submission_data_url: str, tests: List[str] = None, **kwargs): |
41 | | - submission_id = self.request.id |
42 | | - benchmark_id = orchestrator.name |
43 | | - logger.info( |
44 | | - f"Queue/task {benchmark_id} received submission {submission_id} with submission_data_url={submission_data_url} for tests={tests}" |
45 | | - ) |
46 | | - # fail fast |
47 | | - check_fab_healthy() |
48 | | - return interactive_railway_orchestrator.run( |
49 | | - submission_id=submission_id, |
50 | | - submission_data_url=submission_data_url, |
51 | | - tests=tests, |
52 | | - ) |
| 41 | + submission_id = self.request.id |
| 42 | + benchmark_id = orchestrator.name |
| 43 | + logger.info( |
| 44 | + f"Queue/task {benchmark_id} received submission {submission_id} with submission_data_url={submission_data_url} for tests={tests}" |
| 45 | + ) |
| 46 | + # fail fast |
| 47 | + check_fab_healthy() |
| 48 | + return interactive_railway_orchestrator.run( |
| 49 | + submission_id=submission_id, |
| 50 | + submission_data_url=submission_data_url, |
| 51 | + tests=tests, |
| 52 | + ) |
53 | 53 |
|
54 | 54 |
|
55 | 55 | def check_fab_healthy(): |
56 | | - FAB_API_URL = os.environ.get("FAB_API_URL") |
57 | | - fab = DefaultApi(ApiClient(configuration=Configuration(host=FAB_API_URL))) |
58 | | - print(fab.health_live_get()) |
| 56 | + FAB_API_URL = os.environ.get("FAB_API_URL") |
| 57 | + fab = DefaultApi(ApiClient(configuration=Configuration(host=FAB_API_URL))) |
| 58 | + print(fab.health_live_get()) |
0 commit comments