Purpose
This job limit the time of request being in status NEW or APPROVED. It changes status of person to merge requests to EXPIRED after configured period of it existance.
Job logic
Job starts once in 15 min by default (configured parameter MERGE_REQUEST_SCHEDULE= “*/15 * * * *”).
After starting it gets value from global parameter MERGE_REQUEST_EXPIRATION_MINUTES (by default is 30 min).
Select all entries from il.merge_requests with status=NEW or APPROVED:
If inserted_at >= current_datetime() - MERGE_REQUEST_EXPIRATION. Then skip the record
If inserted_at < current_datetime() - MERGE_REQUEST_EXPIRATION. Then update entry:
set status = EXPIRED
set updated_at = current_datetime()
set updated_by = system_user()