Files
Radiuma_RnD/Dagster/Radiuma_API/tests/test_scheduler.py
T
2026-02-08 04:38:10 +03:30

44 lines
1.1 KiB
Python

from radiuma_api.scheduler import Scheduler
from radiuma_api.workflow import Workflow
from radiuma_api.module import Module
from radiuma_api.io_port import InPort, OutPort, ImageType
from radiuma_api.execution_context import ExecutionContext
from radiuma_api.task import Status
# Codes Go below:
class Reader(Module):
def __init__(self):
super().__init__("Reader")
self._add_output_port(OutPort("images", ImageType()))
def run(self, context):
context.put(self.outputs[0], "DATA")
self._set_status(Status.COMPLETED)
class Extractor(Module):
def __init__(self):
super().__init__("Extractor")
self._add_input_port(InPort("images", ImageType()))
def run(self, context):
assert context.get(self.inputs[0]) == "DATA"
self._set_status(Status.COMPLETED)
def test_scheduler_runs_in_order():
ctx = ExecutionContext()
wf = Workflow("WF")
r = Reader()
e = Extractor()
r.outputs[0].connect(e.inputs[0])
wf.add_child(r)
wf.add_child(e)
wf.run(ctx)
assert r.status == Status.COMPLETED
assert e.status == Status.COMPLETED