Bug 31342: Add execution locking to process_message_queue.pl
authorTomas Cohen Arazi <tomascohen@theke.io>
Fri, 12 Aug 2022 09:50:59 +0000 (06:50 -0300)
committerArthur Suzuki <arthur.suzuki@biblibre.com>
Mon, 14 Nov 2022 16:17:11 +0000 (17:17 +0100)
commit75353ccac8df0b37149b12c5b6a4fc67a5b0c0a9
tree1c5c033718b389e7eb0c9825803ba108875d0db8
parent59d6691db7e04acea37f3739b057f732c774a363
Bug 31342: Add execution locking to process_message_queue.pl

This patch makes the script use an execution lock as provided by
Koha::Script. Previous attempt got too complex and contentious, and
given we have a simple way to achieve the same thing, I decided to
submit an alternative approach.

To test:
1. Apply this patch
2. Add the following content to misc/cronjobs/process_message_queue.pl
   on line 83:

  sleep 100;

3. Save the file
4. Have two terminals open
5. On the first one, run:
   $ kshell
  k$ misc/cronjobs/process_message_queue.pl
6. On the second one, run the same
=> SUCCESS: The second one dies telling it had to skip the run
7. Undo your changes:
   $ git checkout misc/cronjobs/process_message_queue.pl
8. Sign off :-D

Sponsored-by: ByWater Solutions
Signed-off-by: Liz Rea <liz@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a80a96b93381a12740b8548b5d92a55bbec0b085)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 9c6d9f51060f75018fc2111af40553659f52899b)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
misc/cronjobs/process_message_queue.pl