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

Gilles created this task.Feb 13 2018, 2:49 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptFeb 13 2018, 2:49 PM
Gilles triaged this task as Low priority.Feb 13 2018, 2:49 PM
Gilles added a comment.EditedFeb 13 2018, 4:15 PM

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

Gilles updated the task description. (Show Details)Feb 14 2018, 5:52 PM
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)
Gilles closed this task as Declined.Mar 12 2018, 4:42 PM

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.