I am trying to improve a batch function so that it uses
lock_acquire(), in order to prevent users from trying to run a large batch if it is already running.
To do this, I try getting the lock in the
module_batch_update_users function that returns the batch definition, and releasing the lock in the
module_batch_update_users_finished function. I am not sure if there is a better way to do this.
Unfortunately, when run via Drush, if the user presses Ctrl+C the command is interrupted, and the lock is not released. I would have to wait until it expires.
Is there a better way to do this, or a way to detect when the command terminates abruptly in order to release the lock?