Page MenuHomePhabricator

Offer a combo of Parsoid and RESTbase in a single process using service-runner for severely memory-constrained environments
Closed, ResolvedPublic

Description

As suggested by @GWicke in T111223#1697385.

Event Timeline

Jdforrester-WMF raised the priority of this task from to Needs Triage.
Jdforrester-WMF updated the task description. (Show Details)
mobrovac claimed this task.
mobrovac subscribed.

I don't think it's worth it. Parsoid should still be available as an independent Vagrant role, which means a lot of Puppet code would need to go into figuring out should we run them together or not (based on whether RESTBase and/or Parsoid role has been enabled).

GWicke renamed this task from Make the combo of Parsoid and RESTbase on MW-Vagrant more efficient by combining the two in a single process using service-runner to Offer a combo of Parsoid and RESTbase in a single process using service-runner for severely memory-constrained environments.Oct 3 2015, 5:32 PM

Updated the title to clarify that this is something that's more geared towards third party users, not necessarily Vagrant. As @mobrovac mentions, there are other considerations that might make this less attractive in a development environment like Vagrant. That said, it would be nice to move towards installing & configuring both Parsoid and RESTBase in Vagrant by default, as this will eventually let us avoid the need to implement fall-back codepaths for no-RESTBase situations in VE and other consumers.

In any case, it's useful to establish what the memory usage of a combo process is, as many low-end VPS offers are RAM-limited. If it is saving more than single-digit MB of RAM, then we can roll a combo Debian package that sets up at least Parsoid and RESTBase to work out of the box.

Reopened as non-Vagrant specific.

A basic Parsoid & RESTBase combo service config is now available at https://github.com/gwicke/mediawiki-node-services. This depends on this small Parsoid patch: https://gerrit.wikimedia.org/r/#/c/257213/.

GWicke claimed this task.

Resolving overall, as Parsoid is now using service-runner by default.

https://github.com/wikimedia/mediawiki-node-services is building on this to provide a single service with RB & Parsoid. We will track further work on this in separate tasks.

I'm trying to use https://github.com/wikimedia/mediawiki-node-services, but I do not get it to work any more. Is anything changed that prevent it to work?

I did following:

  1. git clone https://github.com/wikimedia/mediawiki-node-services.git
  2. npm install

This results in a lot of compiling errors