Kevin Schaper
11/29/2021, 10:24 PMchris
11/30/2021, 1:32 AM@op(config_schema=int)
def my_op(context):
return context.op_config
and the following job:
@job
def my_job():
fan_outs = []
for i in range(10):
fan_outs.append(my_op())
sum_fan_in(fan_outs)
Then I can configure each op like so:
ops:
my_op:
config: 1
my_op_2:
config: 2
...
Kevin Schaper
12/06/2021, 11:53 PMops:
my_op:
config: 1
my_op_2:
config: 2
or
ops:
my_op:
config: 1
my_op_2:
config: 2
my_op_3:
config: 3
chris
12/07/2021, 12:07 AMfrom dagster import DynamicOut
@op(config={"num_iters": int, "values": list}, out=DynamicOut())
def dynamic_outputs(context):
num_iters = context.op_config["num_iters"]
values = context.op_config["values"]
assert num_iters == len(values)
for val in values:
yield DynamicOutput(val)
@job
def my_job():
fan_outs = dynamic_outputs()
sum_fan_in(fan_outs)
Something like this should do the trickKevin Schaper
12/07/2021, 12:17 AMchris
12/07/2021, 12:26 AM