Running wiki-to-print on the server: Difference between revisions

From creative crowd wiki
Jump to navigation Jump to search
 
(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.


===Running wiki-to-print as a background process===
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/wiki2print.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
 
==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/wiki2print/web-interface/
  $ 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.


There is 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
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 jobs '''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 system-d 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:


  $ 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

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