Slackbot
02/26/2024, 4:09 PMScout
02/26/2024, 4:09 PMRunRequest
, which can include configuration for the ops within the job. However, sensors do not directly pass a "context" to an op in the same way that an op might receive a context during its execution. Instead, you can pass parameters to the op through the run configuration when you create a RunRequest
from within the sensor. Here's an example from the documentation on how to define a sensor that yields a RunRequest
with a run configuration: python from dagster import sensor, RunRequest, RunConfig @sensor(job=my_job) def my_directory_sensor(): for filename in os.listdir(MY_DIRECTORY): filepath = os.path.join(MY_DIRECTORY, filename) if os.path.isfile(filepath): yield RunRequest( run_key=filename, run_config=RunConfig( ops={"process_file": {"config": {"filename": filename}}} ), )
In this example, the RunRequest
includes a run_config
that specifies the configuration for the process_file
op within my_job
. The configuration includes a parameter filename
that will be passed to the op when the job is executed. If you need to pass additional context-like information to an op, you would typically do so by including that information in the run configuration. The op can then access this configuration through its own context during execution. Remember that the sensor itself does not execute the op; it merely triggers a job run and provides the necessary configuration for that run. The op's context is created during the job execution and is separate from the sensor's context.