при запуске под *nix видео-файлы, «всосанные» через szVideoName, не имеют статуса на чтение и, соотвественно, не могут быть отданы клиенту веб-сервером
Если веб-сервер запущен под пользователем web, то права -rw------- означают доступ на чтение и запись для этого самого пользователя, значит отдача веб-сервером возможно. Это легко проверить, попытавшись скачать этот файл curl-ом, например.
У меня гипотеза, что как-то всетаки Celery файл подхватывает и что-то с ним делает (или пытается). Но вот что?
Celery делает ровно то, что указано в теле соответствующих задач, описанных в проекте django-videokit. Если любопытно, надо искать в исходниках "батарейки".
Но вот создается это процесс, и если создается, то работает ли он?
Во-первых, стоит почитать логи celery, там наверняка будут какие-то ошибки запуска (например, отсутствие ffmpeg на машине :-) ). Во-вторых, ffmpeg на любую ошибку ругается кодом ответа, отличным от нуля. Если django-videokit этот код ответа не проверяет - это плохая "батарейка".
это мой первый опыт использования Celery и как там должна происходить инициализация очередей, выполнение заданий и тому подобное -- не понимаю
Это очень обширный вопрос, для ответа на который нужно объяснить основы протокола AMQP, который реализует RabbitMQ, половину документации Celery "и тому подобное".
Если кратко, то схема следующая:
- при вызове celery_task.delay() отправляется сообщение в RabbitMQ
- RabbitMQ маршрутизирует сообщение в нужную очередь, в соответствии с настройками celery
- celery берет задачу в обработку, выполняет код, являющийся телом задачи
- после выполнения задачи, результат (return) записывается в redis
- код, отправивший задачу, может подождать ее завершения, вызвав async_result.get, который внутри периодически опрашивает redis, не появился ли там результат обработки задачи.
что предварительно надо установить RabbitMQ. Но в requirements.txt примера указан в числе прочего еще и redis==2.10.5.
Традиционно, celery использует RabbitMQ для передачи задач и Redis для хранения результатов их выполнения.
Мне не понятно как и кто тогда управляет очередями
Очередями (их настройкой) заведует Celery, объявляя их при старте worker-ов.