Running wiki-to-print on the server: Difference between revisions
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
'''Official disclaimer''': Many things can happen, 502 errors fly around your ears, wiki-to-print is not a product :) as long as it keeps running we're happy. | |||
== | BUT... | ||
If you're stuck, this may be of use. | |||
==Wiki-to-print as a service== | |||
Wiki-to-print is a Flask application that runs in the background as a service, using a systemd service file. | Wiki-to-print is a Flask application that runs in the background as a service, using a systemd service file. | ||
$ sudo service wiki2print status | $ sudo service wiki2print status | ||
$ sudo service wiki2print start | $ sudo service wiki2print start | ||
$ sudo service wiki2print stop | $ sudo service wiki2print stop | ||
$ sudo service wiki2print restart | $ sudo service wiki2print restart | ||
The service is configured at: <code>/etc/systemd/system/ | * The service is configured at: <code>/etc/systemd/system/wiki-to-print.service</code> | ||
* Here is an example of that file: https://git.vvvvvvaria.org/varia/wiki-to-print/src/branch/master/wiki-to-print.service.example | |||
==Debugging== | |||
===For debugging (on the server)=== | ===For debugging (on the server)=== | ||
Line 22: | Line 29: | ||
Then run wiki-to-print manually from the folder where it is installed. First go to this folder: | Then run wiki-to-print manually from the folder where it is installed. First go to this folder: | ||
$ cd /var/www/ | $ cd /var/www/wiki-to-print/wiki-to-print/ | ||
And then run the application: | And then run the application: | ||
Line 41: | Line 48: | ||
==jobrunner== | ==jobrunner== | ||
MediaWiki comes with a maintenance script called <code>RunJobs.php</code> that writes changes to the database. The job queue is a built-in feature of MediaWiki that is made to increase the performance on large wikis. | |||
On CC we use a script called <code>jobrunner.sh</code> in <code>/var/www/html/wiki/</code> that is based on: https://www.mediawiki.org/wiki/Manual:Job_queue#Continuous_service | |||
It runs the MediaWiki | It runs the MediaWiki maintenance script <code>RunJobs.php</code> '''every 10 seconds'''. | ||
It is installed on CC and runs in the background as a | It is installed on CC and runs in the background as a systemd service, called "jobrunner", which can be used with: | ||
$ sudo service jobrunner status | $ sudo service jobrunner status | ||
Line 53: | Line 61: | ||
$ sudo service jobrunner reload | $ sudo service jobrunner reload | ||
The service is configured at: <code>/etc/systemd/system/jobrunner.service</code> | * The service is configured at: <code>/etc/systemd/system/jobrunner.service</code> | ||
* This is an example of the service file: | |||
[Unit] | |||
Description=MediaWiki Job runner | |||
[Service] | |||
ExecStart=/var/www/html/wiki/jobrunner.sh | |||
Nice=10 | |||
ProtectSystem=full | |||
User=www-data | |||
OOMScoreAdjust=200 | |||
StandardOutput=journal | |||
[Install] | |||
WantedBy=multi-user.target | |||
[[Category:Sysadmin]] | [[Category:Sysadmin]] | ||
[[Category:Wiki-to-print]] | [[Category:Wiki-to-print]] |
Latest revision as of 15:58, 22 August 2023
Official disclaimer: Many things can happen, 502 errors fly around your ears, wiki-to-print is not a product :) as long as it keeps running we're happy.
BUT...
If you're stuck, this may be of use.
Wiki-to-print as a service
Wiki-to-print is a Flask application that runs in the background as a service, using a systemd service file.
$ sudo service wiki2print status $ sudo service wiki2print start $ sudo service wiki2print stop $ sudo service wiki2print restart
- The service is configured at:
/etc/systemd/system/wiki-to-print.service
- Here is an example of that file: https://git.vvvvvvaria.org/varia/wiki-to-print/src/branch/master/wiki-to-print.service.example
Debugging
For debugging (on the server)
Stop the wiki2print service:
$ sudo service wiki2print stop
Then run wiki-to-print manually from the folder where it is installed. First go to this folder:
$ cd /var/www/wiki-to-print/wiki-to-print/
And then run the application:
$ make server
And if needed, you can add print statements in the python files to dive deeper into the code.
For debugging (through a local installation)
$ git clone ssh://gitea@vvvvvvaria.org:12345/varia/wiki-to-print.git
$ cd wiki-to-print/wiki-to-print/web-interface/
$ make setup
$ make local
jobrunner
MediaWiki comes with a maintenance script called RunJobs.php
that writes changes to the database. The job queue is a built-in feature of MediaWiki that is made to increase the performance on large wikis.
On CC we use a script called jobrunner.sh
in /var/www/html/wiki/
that is based on: https://www.mediawiki.org/wiki/Manual:Job_queue#Continuous_service
It runs the MediaWiki maintenance script RunJobs.php
every 10 seconds.
It is installed on CC and runs in the background as a systemd service, called "jobrunner", which can be used with:
$ sudo service jobrunner status $ sudo service jobrunner start $ sudo service jobrunner stop $ sudo service jobrunner reload
- The service is configured at:
/etc/systemd/system/jobrunner.service
- This is an example of the service file:
[Unit] Description=MediaWiki Job runner [Service] ExecStart=/var/www/html/wiki/jobrunner.sh Nice=10 ProtectSystem=full User=www-data OOMScoreAdjust=200 StandardOutput=journal [Install] WantedBy=multi-user.target