Dagster:如何通过Sensor运行跨仓库Job?
跨仓库Job的Sensor触发方案
结论:可以通过Sensor里的RunRequest触发其他仓库的Job,但你提供的示例写法有误,正确实现方式如下:
- 前提条件:触发方仓库与目标Job所在的仓库都已加载到同一个Dagster实例中,确保实例能识别到目标Job的存在
- 不需要在
@run_status_sensor装饰器中指定request_job参数,而是在返回的RunRequest里明确指定目标Job的名称和所属仓库名称
正确示例代码:
from dagster import run_status_sensor, DagsterRunStatus, RunRequest @run_status_sensor(run_status=DagsterRunStatus.SUCCESS) def cross_repo_trigger_sensor(context): # 指定目标Job的名称和所属仓库 return RunRequest( job_name="target_job_name", repository_name="target_repo_name", run_key=f"triggered_by_{context.dagster_run.run_id}" )
注意:
run_key用于避免重复触发,建议根据上下文生成唯一标识
内容的提问来源于stack exchange,提问作者dreo
相关产品推荐
相关产品推荐

