Deividas Jodogalvis
02/06/2024, 11:49 AMinstance.get_run_records
run record that would fit into execute_job
method?Scout
02/06/2024, 11:49 AMexecute_job
method, you typically need a reconstructable job definition. The instance.get_run_records
method returns a list of RunRecord
objects, which contain information about past runs, but not the job definitions themselves. However, if you have a RunRecord
object from instance.get_run_records
, you can extract the run_id
from it. With the run_id
, you can potentially reconstruct the job if you have the original code that defines the job. Here's a step-by-step approach based on the documentation: 1. Use instance.get_run_records
to retrieve the run records you're interested in. 2. Extract the run_id
from the RunRecord
object. 3. If you know the original job definition (the Python function or module where the job is defined), you can use reconstructable
to create a reconstructable job. 4. Pass the reconstructable job to execute_job
along with the necessary parameters such as instance
, run_config
, tags
, etc. Here's an example of how you might use the run_id
to reexecute a job, assuming you have the original job definition: python from dagster import execute_job, reconstructable, DagsterInstance, ReexecutionOptions # Assuming you have a function that defines your job def define_job(): ... # Get the Dagster instance instance = DagsterInstance.get() # Retrieve run records (you would add your own filters here) run_records = instance.get_run_records() # Extract the run_id from the RunRecord you're interested in run_id = run_records[0].run_id # Create a reconstructable job reconstructable_job = reconstructable(define_job) # Define reexecution options if needed reexecution_options = ReexecutionOptions.from_failure(run_id=run_id, instance) # Execute the job execute_job(reconstructable_job, instance, reexecution_options=reexecution_options)
Please note that this example assumes you have a function define_job
that can be used to reconstruct the job. If you don't have access to the original job definition, you won't be able to reconstruct the job and execute it in this manner.