This commit is contained in:
Matthias Bisping 2022-05-06 23:07:46 +02:00
parent 962b398a9c
commit 866df2dee3

View File

@ -24,7 +24,7 @@ def make_processor_fn(operation, buffer_size, batched):
return operation return operation
class Processor(abc.ABC): class OnDemandProcessor(abc.ABC):
def __init__(self, processor_fn): def __init__(self, processor_fn):
self.execution_queue = chain([]) self.execution_queue = chain([])
self.processor_fn = processor_fn self.processor_fn = processor_fn
@ -41,7 +41,7 @@ class Processor(abc.ABC):
return Nothing return Nothing
class ProcessorAdapter(abc.ABC): class OnDemandProcessorAdapter(abc.ABC):
@abc.abstractmethod @abc.abstractmethod
def submit(self, *args, **kwargs) -> None: def submit(self, *args, **kwargs) -> None:
raise NotImplementedError raise NotImplementedError
@ -51,8 +51,8 @@ class ProcessorAdapter(abc.ABC):
return result return result
class RestProcessorAdapter(ProcessorAdapter): class RestProcessorAdapter(OnDemandProcessorAdapter):
def __init__(self, processor: Processor): def __init__(self, processor: OnDemandProcessor):
self.processor = processor self.processor = processor
def submit(self, request) -> None: def submit(self, request) -> None:
@ -60,7 +60,9 @@ class RestProcessorAdapter(ProcessorAdapter):
class RestStreamer: class RestStreamer:
def __init__(self, processor: Processor): """Wraps an on-demand-processor. Combine with a webserver that provides the endpoints 'submit' and 'pickup'."""
def __init__(self, processor):
self.processor = processor self.processor = processor
def submit(self, request): def submit(self, request):
@ -91,7 +93,7 @@ def valid(result):
def set_up_processing_server(process_fn): def set_up_processing_server(process_fn):
app = Flask(__name__) app = Flask(__name__)
streamer = RestStreamer(RestProcessorAdapter(Processor(process_fn))) streamer = RestStreamer(RestProcessorAdapter(OnDemandProcessor(process_fn)))
@app.route("/ready", methods=["GET"]) @app.route("/ready", methods=["GET"])
def ready(): def ready():