Проект, над которым я сейчас работаю, в основном принимает изображение, а затем отображает видео с помощью блендера из командной строки. На данный момент я использую Twisted для рассмотрения запросов, но, безусловно, я что-то делаю неправильно, так как он не работает, как мне хотелось бы. Вы можете увидеть суть программы here (я лишил ничего лишнего).Отправка на стороне сервера с использованием blender и twisted (python)
Выполнение рендеринга производится путем нереста подпроцесса (я знаю Twisted can handle processes) и python script для настройки рендеринга и использования изображения, представленного в виде текстуры.
Программа должна уметь обрабатывать как можно больше соединений. На данный момент подпроцесс делает один рендер за раз, но в идеале он будет проверять CPU/количество параллельных рендерингов и корректировать число до оптимального. Каждый рендер является обычным для пользователя, поэтому, как только пользовательский рендеринг завершен, он должен вернуть свою визуализацию (файл avi).
Мой вопрос: Является ли правильный выбор для этого? Есть ли другие варианты? Если нет, является ли моя реализация системы ошибочной? Я был бы признателен за любые мысли или мнения по этому поводу!
Я работаю в аналогичном проекте, используя блендер и сервер питона, я хотел бы прямо сейчас если у вас возникли проблемы с памятью blender или что-то в этом роде. Блендер всегда работает на вашем сервере? или вы запускаете блендер для каждого клиента? – 2011-10-11 10:35:17
Мы запускали блендер из командной строки каждый раз, когда хотели его использовать. Мы использовали [настраиваемые скрипты python] (http://wiki.blender.org/index.php/Doc:Manual/Extensions/Python), чтобы настроить рендер, запустить его и добиться прогресса. Мы использовали сельдерей и RabbitMQ для работы в очереди, чтобы за один раз запускать только одно задание. – betamax