Это звучит как работа для распределенных очередей задач. Мой личный фаворит - Beanstalkd B / C, он настолько легкий и простой в использовании.
Сервер: https://github.com/kr/beanstalkd
Клиентская библиотека: https://github.com/PeterScott/beanstalkc
Помощник Джанго: https://github.com/jonasvp/django-beanstalkd
Как это будет работать, так:
1. Файл загружается и хранится локально
2. Работа создается в виде загрузки и помещается в трубочный боб
3. Бобовые стебли наблюдают за работой труб, они берут новую работу
4. Работник может создавать эскизы и распространять их на столько серверов, сколько вам нужно
Прелесть в том, что у вас может быть столько рабочих, которые питаются из трубки, сколько требуется. Так что если вы когда-нибудь отстанете, просто уволите больше рабочих. Рабочие могут работать на одной машине или на нескольких разных машинах, и все будет работать нормально.