Deploy and test the new rendering code added in T171838: Build out article concatenation according to requirements for books.
- configure $wgVirtualRestConfig['electron'] (https://gerrit.wikimedia.org/r/#/c/377928/)
- set the secret key in the private repo
- test functionality on beta
- find some way to prevent clever users who discover the non-public test URL from using it (https://gerrit.wikimedia.org/r/#/c/377929/)
- Tracked in T178289
- test with some large books (e.g. from T142226#2537844)
- check MediaWiki memory use
- check Electron memory use (run top on scb1001-1004)
- check service latency
- make sure the test did not cause problems for Electron / restart if needed
Rendering workflow is as follows:
- read book definition from session
- fetch HTML for pages from RESTBase via MultiHttpClient; fetch metadata (sections, contributors etc) from MediaWiki API via internal pseduo-request
- compose all those into a single HTML page with Remex
- store book data in WAN cache with a short TTL
- fetch PDF from Electron
- Electron will send a request to MediaWiki, MW will load the book from cache and render it.
- output the PDF response with the appropriate headers (the current code does not try to stream the response; that should probably be added)
Restarting Electron:
for i in 1 2 3 4; do echo $i; ssh scb100$i.eqiad.wmnet "sudo service pdfrender restart"; done
There is an Icinga alert when it goes down. (scb1001, scb1002, scb1003, scb1004)