Page MenuHomePhabricator

Modify upstream Thumbor to allow true async engines
Closed, DeclinedPublic

Description

Currently thumbnails that are slow to render will also slow down the processing of other requests hitting the same Thumbor instance. Ideally, the subprocess calls inside our engines would be truly asynchronous, letting Thumbor process other requests while the current one is being handled by a subprocess.

This is a challenging task, as they are many layers of abstraction in Thumbor between what's currently asynchronous and the engine, which weren't designed with async in mind.

Event Timeline

I've confirmed via testing on Vagrant that this phenomenon is real (slow requests delaying unrelated requests).

This comment was removed by Gilles.
Gilles lowered the priority of this task from Low to Lowest.Feb 20 2018, 10:24 AM
Gilles updated the task description. (Show Details)

It looks like this won't be necessary, as we have different proxy options that should offer a satisfying workaround to the problem of feeding thumbor instances the right amount of work.