There exist services that libraries utilize as an alternative to processing the message queue. These services may utilize the queued messages and send them from outside of Koha. Sometimes these services utilize the API or reports while other times they utilize a plugin. It would be beneficial to be able to disable running the message queue processor altogether, or to only execute the plugin hook related to message queue processing ( before_send_messages ) to limit the processing of messages to those handled by plugins. I think a new system preference along the lines of "Process/Don't process/Process only via plugins" would be good, but haven't quite come up with a sentence that makes sense.
Created attachment 171756 [details] [review] Bug 37885: Add ability to disable message queue processing There exist services that libraries utilize as an alternative to processing the message queue. These services may utilize the queued messages and send them from outside of Koha. Sometimes these services utilize the API or reports while other times they utilize a plugin. It would be beneficial to be able to disable running the message queue processor altogether, or to only execute the plugin hook related to message queue processing ( before_send_messages ) to limit the processing of messages to those handled by plugins. Test Plan: 1) Apply this patch 2) Run updatedatabase.pl 3) Install the kitchen sink plugin, enable it 4) Enqueue a notice 5) Set MessageQueueMode to "process nothing" 6) Run process_message_queue.pl 7) Note nothing happens, 0 message reported 8) Set MessageQueueMode to "process plugin hooks only" 9) Run process_message_queue.pl 10) Note nothing happens, 0 message reported 11) Set MessageQueueMode to "on" 12) Run process_message_queue.pl 13) Note the message fails to send, assuming you have not set up anything to actually send messages on your test instance
Created attachment 171757 [details] [review] Bug 37885: Add ability to disable message queue processing There exist services that libraries utilize as an alternative to processing the message queue. These services may utilize the queued messages and send them from outside of Koha. Sometimes these services utilize the API or reports while other times they utilize a plugin. It would be beneficial to be able to disable running the message queue processor altogether, or to only execute the plugin hook related to message queue processing ( before_send_messages ) to limit the processing of messages to those handled by plugins. Test Plan: 1) Apply this patch 2) Run updatedatabase.pl 3) Install the kitchen sink plugin, enable it 4) Enqueue a notice 5) Set MessageQueueMode to "process nothing" 6) Run process_message_queue.pl 7) Note nothing happens, 0 message reported 8) Set MessageQueueMode to "process plugin hooks only" 9) Run process_message_queue.pl 10) Note nothing happens, 0 message reported 11) Set MessageQueueMode to "on" 12) Run process_message_queue.pl 13) Note the message fails to send, assuming you have not set up anything to actually send messages on your test instance
Created attachment 171789 [details] [review] Bug 37885: Add ability to disable message queue processing There exist services that libraries utilize as an alternative to processing the message queue. These services may utilize the queued messages and send them from outside of Koha. Sometimes these services utilize the API or reports while other times they utilize a plugin. It would be beneficial to be able to disable running the message queue processor altogether, or to only execute the plugin hook related to message queue processing ( before_send_messages ) to limit the processing of messages to those handled by plugins. Test Plan: 1) Apply this patch 2) Run updatedatabase.pl 3) Install the kitchen sink plugin, enable it 4) Enqueue a notice 5) Set MessageQueueMode to "process nothing" 6) Run process_message_queue.pl 7) Note nothing happens, 0 message reported 8) Set MessageQueueMode to "process plugin hooks only" 9) Run process_message_queue.pl 10) Note nothing happens, 0 message reported 11) Set MessageQueueMode to "on" 12) Run process_message_queue.pl 13) Note the message fails to send, assuming you have not set up anything to actually send messages on your test instance