Running wiki-to-print on the server
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
There is 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