Pergunta

Eu estou tentando criar um Django WebApp que utiliza a API de streaming do Twitter através da função Tweepy.stream ().Eu estou tendo dificuldade em conceituar a implementação adequada.

A funcionalidade mais simples que gostaria de ter é contar o número de tweets contendo uma hashtag em tempo real.Então eu abriria um fluxo, filtrando por palavras-chave, toda vez que um novo tweet vem sobre a conexão que eu incrementar um contador.Esse contador é exibido em uma página da Web e atualizada com Ajax ou de outra forma.

O problema é que a função Tweepy.Stream () deve ser continuamente sendo executada e conectada ao Twitter (é o ponto).Como posso ter esse fluxo em execução no fundo de um aplicativo Django, enquanto incrementando os contadores que podem ser exibidos em tempo real (próximo)?

Obrigado antecipadamente!

Foi útil?

Solução

Existem várias maneiras de fazer isso, mas usando uma lib de mensagens ( aipo ) provavelmente seráo mais fácil.

1) Mantenha um processo de python correndo tweepy.Uma vez encontrado uma mensagem interessante, crie uma nova tarefa de aipo

2) Dentro desta tarefa de cenoura persistem os dados para o banco de dados (o contador, os tweets, o que for).Esta tarefa pode executar o código DJANGO (por exemplo, o ORM).

3) Tenha um aplicativo Django regular exibindo os resultados que sua tarefa persistiu.

Como precaução, é provavelmente um bom ideal para executar o processo tweepy sob supervisão (supervisibilidade pode atender às suas necessidades).Se alguma coisa der errado com isso, ele pode ser reiniciado automaticamente.

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