DAG: SierraGorda_ParametersStorage Functions that calculate parameters like fragmentation in SierraGorda

schedule: 45,45 12,0 * * *


Task Instance: fragmentation_AddExcavationRate


Task Instance Details

Dependencies Blocking Task From Getting Scheduled
Dependency Reason
Trigger Rule Task's trigger rule 'all_success' requires all upstream tasks to have succeeded, but found 1 non-success(es). upstream_tasks_state={'total': 1, 'successes': 0, 'skipped': 0, 'failed': 0, 'upstream_failed': 1, 'done': 1}, upstream_task_ids={'fragmentation_AddBenchToWenco'}
Dagrun Running Task instance's dagrun was not in the 'running' state but in the state 'failed'.
Task Instance State Task is in the 'upstream_failed' state which is not a valid state for execution. The task must be cleared in order to be run.
Attribute: python_callable
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def agregar_tasa_de_excavacion(origin_wenco_file_container, origin_wenco_file_blob, final_container, final_blob): 
    # Archivo Wenco Shovel
    conn_origin_container_wenco = BlobClient.from_connection_string(conn_str=BLOB_CONNECT_STRING, container_name=origin_wenco_file_container, blob_name=origin_wenco_file_blob)
    download_stream_wenco = conn_origin_container_wenco.download_blob()
    df_wenco = pd.read_json(download_stream_wenco, orient='table') 

    # Preparar los datos 
    df_wenco['TIMESTAMP'] = df_wenco['TIMESTAMP'].astype('datetime64[ns]')
    df_wenco['fecha'] = df_wenco['TIMESTAMP'].dt.date
    df_wenco['hora'] = df_wenco['TIMESTAMP'].dt.hour

    # Tiempo total de excavacion en horas para un ciclo de pala completo
    df_wenco['tiempo_total'] = df_wenco['DIG_DURATION'] + df_wenco['SWING_TO_DUMP_DURATION'] + df_wenco['SWING_TO_DIG_DURATION'] + df_wenco['DIG_WAIT_DURATION'] + df_wenco['DUMP_DURATION'] +  df_wenco['DUMP_WAIT_DURATION'] 
    df_wenco['tiempo_total'] = df_wenco['tiempo_total'] / 3600
    
    ### Calculando tiempo total por ciclo de camion completo (más de una palada)
    df_wenco['tiempo_total'] = df_wenco.groupby(['HAUL_CYCLE_REC_IDENT'])['tiempo_total'].transform('sum')
    df_wenco['tasa_excavacion'] = df_wenco['QUANTITY_REPORTING'] / df_wenco['tiempo_total']
    
    # Configuracion para subir al blob
    blob = BlobClient.from_connection_string(conn_str=BLOB_CONNECT_STRING, container_name=final_container, blob_name=final_blob)
    json_data = df_wenco.to_json(index=False, orient='table')
    blob.upload_blob(json_data, overwrite=True)
Task Instance Attributes
Attribute Value
dag_id SierraGorda_ParametersStorage
duration None
end_date 2026-06-05 00:46:43.288512+00:00
execution_date 2026-06-04T12:45:00+00:00
executor_config {}
generate_command <function TaskInstance.generate_command at 0x72aa98ce3040>
hostname
is_premature False
job_id None
key ('SierraGorda_ParametersStorage', 'fragmentation_AddExcavationRate', <Pendulum [2026-06-04T12:45:00+00:00]>, 1)
log <Logger airflow.task (INFO)>
log_filepath /usr/local/airflow/logs/SierraGorda_ParametersStorage/fragmentation_AddExcavationRate/2026-06-04T12:45:00+00:00.log
log_url http://localhost:8080/admin/airflow/log?execution_date=2026-06-04T12%3A45%3A00%2B00%3A00&task_id=fragmentation_AddExcavationRate&dag_id=SierraGorda_ParametersStorage
logger <Logger airflow.task (INFO)>
mark_success_url http://localhost:8080/success?task_id=fragmentation_AddExcavationRate&dag_id=SierraGorda_ParametersStorage&execution_date=2026-06-04T12%3A45%3A00%2B00%3A00&upstream=false&downstream=false
max_tries 0
metadata MetaData(bind=None)
next_try_number 1
operator None
pid None
pool default_pool
prev_attempted_tries 0
previous_execution_date_success None
previous_start_date_success None
previous_ti <TaskInstance: SierraGorda_ParametersStorage.fragmentation_AddExcavationRate 2026-06-04 00:45:00+00:00 [upstream_failed]>
previous_ti_success None
priority_weight 3
queue default
queued_dttm None
raw False
run_as_user None
start_date 2026-06-05 00:46:43.288491+00:00
state upstream_failed
task <Task(PythonOperator): fragmentation_AddExcavationRate>
task_id fragmentation_AddExcavationRate
test_mode False
try_number 1
unixname airflow
Task Attributes
Attribute Value
dag <DAG: SierraGorda_ParametersStorage>
dag_id SierraGorda_ParametersStorage
depends_on_past False
deps {<TIDep(Not In Retry Period)>, <TIDep(Trigger Rule)>, <TIDep(Previous Dagrun State)>}
do_xcom_push True
downstream_list [<Task(PythonOperator): fragmentation_AddFragmentation>]
downstream_task_ids {'fragmentation_AddFragmentation'}
email None
email_on_failure True
email_on_retry True
end_date None
execution_timeout None
executor_config {}
extra_links []
global_operator_extra_link_dict {}
inlets []
lineage_data None
log <Logger airflow.task.operators (INFO)>
logger <Logger airflow.task.operators (INFO)>
max_retry_delay None
on_failure_callback None
on_retry_callback None
on_success_callback None
op_args []
op_kwargs {'origin_wenco_file_container': 'processed', 'origin_wenco_file_blob': 'SierraGorda/Fragmentacion/2026-06-13/WencoShovelHaul_banco.json', 'final_container': 'processed', 'final_blob': 'SierraGorda/Fragmentacion/2026-06-13/cruce_wenco_shovel_banco_tasa_excavacion.json'}
operator_extra_link_dict {}
operator_extra_links ()
outlets []
owner pedro
params {}
pool default_pool
priority_weight 1
priority_weight_total 3
provide_context False
queue default
resources None
retries 0
retry_delay 0:05:00
retry_exponential_backoff False
run_as_user None
schedule_interval 45,45 12,0 * * *
shallow_copy_attrs ('python_callable', 'op_kwargs')
sla None
start_date 2023-04-22T00:00:00+00:00
subdag None
task_concurrency None
task_id fragmentation_AddExcavationRate
task_type PythonOperator
template_ext []
template_fields ('templates_dict', 'op_args', 'op_kwargs')
templates_dict None
trigger_rule all_success
ui_color #ffefeb
ui_fgcolor #000
upstream_list [<Task(PythonOperator): fragmentation_AddBenchToWenco>]
upstream_task_ids {'fragmentation_AddBenchToWenco'}
wait_for_downstream False
weight_rule downstream