This could work? We might need to scatter the list to the executor first?
def f(x, l):
xr = x.result()
for y in l:
if xr == y.result():
return "~~NULL_COMPUTE~~"
return xr
def update(x, who=None):
future = self.executor.submit(f, x, self.list)
self.list.append(x)
yield self._emit(future)