Pergunta

O projeto em que estou trabalhando no momento basicamente pega uma imagem e depois renderiza um vídeo usando o Blender da linha de comando. No momento estou usando Torcido Para lidar com os pedidos, mas certamente há algo que estou fazendo de errado, pois não está funcionando como gostaria. Você pode ver o jist do programa aqui (Eu tirei qualquer coisa desnecessária).

A renderização do liquidificador é feita gerando um subprocesso (estou ciente de torcido pode lidar com processos) junto com um Script Python Para configurar a renderização e usar a imagem fornecida como uma textura.

O programa precisa ser capaz de lidar com o maior número possível de conexões. No momento, o subprocesso renderiza -se de cada vez, mas, idealmente, verificaria a CPU/número de renderizações paralelas e ajustaria o número ao ideal. Cada renderização é personalizada para o usuário, assim que os usuários renderizam, eles devem recuperar sua renderização (um arquivo AVI).

Minha pergunta é: é distorcido a escolha certa para isso? Existem outras opções? Caso contrário, minha implementação do sistema é falha? Eu apreciaria quaisquer pensamentos ou opiniões sobre isso!

Foi útil?

Solução

Is Twisted the right choice for this? - Talvez.

Are there other options? - Sim.

If not, is my implementation of the system flawed? - Sim. Parece -me que sua chamada de subprocesso está bloqueando: p.wait()

É possível fazer o que parece que você está tentando fazer em torcido, mas você está muito longe disso.

Você precisa de uma fila de tarefas assíncronas controlada por taxa com um front-end da Web.

O que você tem é uma página única em um único 'site' que não retorna nenhum HTML até que o trabalho enviado seja concluído.

Isso é possível em torcido. No entanto, provavelmente é mais fácil implementar o uso de Django + aipo.

Django: http://www.djangoproject.com/
Salsão: http://celery.github.com/celery/getting-started/introduction.html

E um tutorial para um propósito semelhante:
http://webcookies.org/blog/2009/09/10/rabbitmq-celery-and-django/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top