Flow_0pp3wm0
{
"process_model_time_unit": ["seconds", "minutes"],
"process_model_time_elapsed": [1, 1]
}
{
"process_model_expires_in_seconds": [
1,
60
]
}
Flow_1x4kjsz
Flow_01w3rxo
time_config = zip(process_model_time_unit, process_model_time_elapsed)
def to_seconds(config):
return timedelta(**{config[0]: config[1]}).total_seconds()
process_model_expires_in_seconds = list(map(to_seconds, time_config))
del(time_config)
del(process_model_time_elapsed)
del(process_model_time_unit)
ProcessModelTTL
Flow_0emb6j8
Flow_1y9xe99
Flow_1x4kjsz
Flow_18h0rzg
Flow_0irycq7
Flow_0pp3wm0
Flow_0mgnrik
False
Flow_0mgnrik
Flow_0emb6j8
timedelta(minutes=10)
Flow_18h0rzg
Flow_1y9xe99
#started=now()
times_run = 0
total_instances_deleted = 0
Flow_1bwzp86
Flow_0irycq7
times_run = times_run + 1
total_instances_deleted = total_instances_deleted + rows_affected
del(rows_affected)
del(process_instance_delete_criteria)
Flow_0zkaxwb
Flow_1bwzp86
rows_affected = delete_process_instances_with_criteria(process_instance_delete_criteria)
## optimization:
## after delete, what is the next candidate for delete
#next_delete_time_in_seconds = reap_current_process_instances(data_from_dmn)
#next_delete_time_in_seconds *= 110% # padding to help with race conditions ll
{
"process_model_name": ["a", "b", "c"],
"process_model_status": [
["complete"],
["user_input_required", "faulted"],
["complete", "error"]
],
"process_model_expires_in_seconds": [1, 60, 300]
}
{
"process_instance_delete_criteria": [
{
"last_updated_delta": 1,
"name": "a",
"status": [
"complete"
]
},
{
"last_updated_delta": 60,
"name": "b",
"status": [
"user_input_required",
"faulted"
]
},
{
"last_updated_delta": 300,
"name": "c",
"status": [
"complete",
"error"
]
}
]
}
Flow_01w3rxo
Flow_0zkaxwb
def to_delete_criteria(config):
return {
"name": config[0],
"status": config[1],
"last_updated_delta": config[2],
}
process_instance_delete_criteria = list(map(to_delete_criteria, zip(process_model_name,
process_model_status,
process_model_expires_in_seconds)))
del(process_model_name)
del(process_model_status)
del(process_model_expires_in_seconds)