Posts tagged: toolforge

Making it easier for Toolforge tools to surface replag

A number of tools hosted on Toolforge rely on the replicated MediaWiki databases, dubbed "Wiki Replicas". Every so often these servers have replication lag, which affects the data returned as well as the performance of the queries. And when this happens, users get confused and start reporting bugs that aren't…

MySQL connection pooling in Rust for Toolforge

Toolforge is a free cloud computing platform designed for and used by the Wikimedia movement to host various tools and bots. One of the coolest parts of using Toolforge is that you get access to redacted copies of the MediaWiki MySQL database replicas, aka the wiki replicas. (Note that whenever…

New Toolforge tool: steve-adder

New #Toolforge tool alert: https://steve-adder.toolforge.org/It lets you see what % of page views on Wikimedia wikis come from the specified browser range. This data is already available in dashboards, just this adds up multiple versions for you.More info: https://wikitech.wikimedia.org/wiki/Tool:Steve-adderWritten in #Rust using Rocket and the csv crate. I really appreciate…

Toolforge Rust tutorial

I wrote a tutorial on how to deploy a #Rust web application on Wikimedia's #Toolforge platform: https://wikitech.wikimedia.org/wiki/Help:Toolforge/My_first_Rust_toolIt uses #Rocket and demonstrates how to make queries against #Wikipedia's MariaDB replicas.

Speeding up Toolforge tools with Redis

Over the past two weeks I significantly sped up two of my Toolforge tools by using Redis, a key-value database. The two tools, checker and shorturls were slow for different reasons, but now respond instantaneously. Note that I didn't do any proper benchmarking, it's just noticably faster. If you're not…

Tried Rust on Toolforge

Tried to get a #rustlang tool deployed on #Toolforge today and failed. Wrote a quick summary on how to move forward: https://phabricator.wikimedia.org/T194953#6183849Input from experienced rust Toolforgers like @magnusmanske and @danielhglus would be appreciated.

Last Jenkins run dashboard

New dashboard shows the last jenkins run for a MediaWiki extension/skin: https://tools.wmflabs.org/ci/last_run.htmlI mostly made this to be able to find extensions that fail PHP 7.0 tests while it's still non-voting, and to find gaps in coverage (there's one Wikimedia-deployed extension with no voting tests :().One day I need to unify…

Requiring HTTPS for my Toolforge tools

My Toolforge (formerly "Tool Labs") tools will now start requiring HTTPS, and redirecting any HTTP traffic. It's a little bit of common code for each tool, so I put it in a shared "toolforge" library. from flask import Flask import toolforge app = Flask(__name__) app.before_request(toolforge.redirect_to_https) And that's it! Your tool…