(PIE-1034) Ensure lockfile only deleted when appropriate #104
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The collect_api_events.rb script will check if another instance of the
script is running and exit if so. The problem arises when the exit is
caught so we can create the appropriate log messages and an ensure block
deletes the lockfile. In scenarios where the cron calls start to stack
on each other this ensure clause can delete lockfiles created by other
running instances of collect_api_events.rb.
To solve this we introduce a check before deleting the lockfile to
ensure that the current pid matches the pid in the lockfile. There is a
force parameter to override this check which is used by the
validate_command in the case that the pid referenced in the lockfile no
longer exists.