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
class Processor(abc.ABC):
class OnDemandProcessor(abc.ABC):
def __init__(self, processor_fn):
self.execution_queue = chain([])
self.processor_fn = processor_fn
@ -41,7 +41,7 @@ class Processor(abc.ABC):
return Nothing
class ProcessorAdapter(abc.ABC):
class OnDemandProcessorAdapter(abc.ABC):
@abc.abstractmethod
def submit(self, *args, **kwargs) -> None:
raise NotImplementedError
@ -51,8 +51,8 @@ class ProcessorAdapter(abc.ABC):
return result
class RestProcessorAdapter(ProcessorAdapter):
def __init__(self, processor: Processor):
class RestProcessorAdapter(OnDemandProcessorAdapter):
def __init__(self, processor: OnDemandProcessor):
self.processor = processor
def submit(self, request) -> None:
@ -60,7 +60,9 @@ class RestProcessorAdapter(ProcessorAdapter):
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
def submit(self, request):
@ -91,7 +93,7 @@ def valid(result):
def set_up_processing_server(process_fn):
app = Flask(__name__)
streamer = RestStreamer(RestProcessorAdapter(Processor(process_fn)))
streamer = RestStreamer(RestProcessorAdapter(OnDemandProcessor(process_fn)))
@app.route("/ready", methods=["GET"])
def ready():