On Aug 24, 2021, at 8:33 AM, Stephen J. Turnbull <stephenjturnbull@gmail.com> wrote:
Hi, Eugenio,
I wrote this earlier but am in the middle of moving my office so my mail has been intermittent. I have been following your discussion with Abhilash, and he's definitely the expert, especially if you are using the containers he creates and distributes. But there's some information here he hasn't mentioned yet.
Please consider the following discussion to be background that allows you to understand some of the considerations. I've only run the Mailman 3 suite with all three running constantly on the same host, so I have no experience with this kind of issue.
eugenio.jordan@esa.int writes:
Our customer is currently using PostGRESQL as backend, and we would like to perform some maintenance tasks, namely running vacuum full, or at least trying to rebuild hyperkitty_email primary key related index. We have been asked on the real impact of putting in place such initiative. Though the latter is related to archiving, I haven't found a way to stop just Hyperkitty or Django related processes other than stopping Mailman's core, hence preventing mails addressed to distribution lists from being delivered, could you please confirm if I am correct?
Mailman core can certainly run without either Postorius or HyperKitty. Controlling Mailman core (moderation, helping users) without Postorius is annoying, but it can be done. If you stop the HyperKitty process, what should happen, I believe, is that posts for archiving will accumulate in the 'archive' queue until HyperKitty is available again.
It's been a while since I studied this so I could be completely wrong, but as I understand it HyperKitty and Postorius are not daemon processes. Rather, they are WSGI applications, which means they are subprocesses spawned by your webserver, and controlled by it. In order to keep them from running, you would reconfigure the webserver to not call those WSGI applications. How that is done is specific to the webserver and the WSGI module. If you are running from Docker containers, most likely, you can just stop their containers.
Yeah, Postorius and Hyperkitty themselves aren’t daemons, but they run inside WSGI servers like uwsgi/gunicorn which are typically separate daemons than webserver like Nginx which sits in the front. However there are common webserver modules like mod_wsgi (for apache2) which will let you run without managing a separate WSGI server.
So, it depends on the setup, you can either just stop the WSGI server or stop the web server.
For, containers, the WSGI server (uwsgi) runs in the container and you can just stop the mailman-web container.
-- thanks, Abhilash Raj (maxking)