added result validaton for processor

This commit is contained in:
Matthias Bisping 2022-05-06 19:15:17 +02:00
parent 5760a6f354
commit 53eee983c4

View File

@ -31,8 +31,8 @@ class Processor(abc.ABC):
def submit(self, package, final):
"""Submit computation request to execution queue; computation is performed on demand.
Use for processor functions that are 1 -> n where n can take up a lot of memory, since
the"""
"""
self.execution_queue = chain(self.execution_queue, self.processor_fn(package, final=final))
def compute_next(self):
@ -61,6 +61,9 @@ def set_up_processing_server(process_fn):
@app.route("/pickup", methods=["GET"])
def pickup():
result = processor.compute_next()
if not valid(result):
logger.error(f"Received invalid result: {result}")
result = Nothing
if result is Nothing:
resp = jsonify("No more items left")
@ -73,3 +76,7 @@ def set_up_processing_server(process_fn):
return resp
return app
def valid(result):
return isinstance(result, dict) or isinstance(result, Nothing)