You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
introducing a new "Processor interface" that i like much better than any other
attempt. it should work for Step/Task, but also for I/O and for the taskWrap itself.
```
def self.compute_callable(ctx, flow_options, circuit_options, signal, lib_ctx, method_name:, **)
```
the idea is to have an extended signature of the circuit interface, where two positional args
signal and lib_ctx are passed around, the lib_ctx is automatically passed as kwargs. this used to
be the `wrap_ctx` in the original taskWrap version.
you `return ctx, flow_options, signal, lib_ctx`, and signal can be anything.
# That was my first idea, but it doesn't play if devs would use dispatching based on {#method_missing}.
35
31
# callable = exec_context.method(method_name) # this is the actual change from Option thinking.
36
32
37
-
# method_name = ctx.fetch(:method_name)
38
-
39
33
callable=->(*args, **kws){exec_context.send(method_name, *args, **kws)}# this should be generic, so we can use it with Task and Step interfaces (and ext-ci)
40
34
41
35
# tHE IDEA here is that the only difference to a raw filter is that we extract the "callable" before we do the rest
42
36
# (invoking with whatever interface, interpreting the result etc)
0 commit comments