Running wiki-to-print on the server: Difference between revisions
No edit summary |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
If you're stuck, this may be of use. | 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 | ||
Line 19: | Line 18: | ||
* The service is configured at: <code>/etc/systemd/system/wiki-to-print.service</code> | * 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 | * 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 47: | 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 maintenance script RunJobs.php '''every 10 seconds'''. | 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 systemd service, called "jobrunner", which can be used with: | It is installed on CC and runs in the background as a systemd service, called "jobrunner", which can be used with: |
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