refactoring
This commit is contained in:
parent
866df2dee3
commit
1daaf2b904
@ -24,7 +24,7 @@ def make_processor_fn(operation, buffer_size, batched):
|
|||||||
return operation
|
return operation
|
||||||
|
|
||||||
|
|
||||||
class OnDemandProcessor(abc.ABC):
|
class OnDemandProcessor:
|
||||||
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,22 +41,12 @@ class OnDemandProcessor(abc.ABC):
|
|||||||
return Nothing
|
return Nothing
|
||||||
|
|
||||||
|
|
||||||
class OnDemandProcessorAdapter(abc.ABC):
|
class RestOndDemandProcessorAdapter(OnDemandProcessor):
|
||||||
@abc.abstractmethod
|
def __init__(self, processor_fn):
|
||||||
def submit(self, *args, **kwargs) -> None:
|
super(RestOndDemandProcessorAdapter, self).__init__(processor_fn=processor_fn)
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
def compute_next(self) -> Union[Nothing, Any]:
|
def submit(self, request, **kwargs) -> None:
|
||||||
result = self.processor.compute_next()
|
super(RestOndDemandProcessorAdapter, self).submit(request.json, final=request.method == "POST")
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
class RestProcessorAdapter(OnDemandProcessorAdapter):
|
|
||||||
def __init__(self, processor: OnDemandProcessor):
|
|
||||||
self.processor = processor
|
|
||||||
|
|
||||||
def submit(self, request) -> None:
|
|
||||||
self.processor.submit(request.json, final=request.method == "POST")
|
|
||||||
|
|
||||||
|
|
||||||
class RestStreamer:
|
class RestStreamer:
|
||||||
@ -93,7 +83,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(OnDemandProcessor(process_fn)))
|
streamer = RestStreamer(RestOndDemandProcessorAdapter(process_fn))
|
||||||
|
|
||||||
@app.route("/ready", methods=["GET"])
|
@app.route("/ready", methods=["GET"])
|
||||||
def ready():
|
def ready():
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user