В общем, код должен собирать твиты, обрабатывать и хранить в db некоторые статистические данные. Я использую phirehose lib для Twitter Stream API, поэтому он постоянно транслирует твит. Насколько я понимаю, я не могу разобрать твиты в том же процессе, поэтому я должен разбирать твиты в другом процессе, поэтому phirehose lib должен получать твиты и хранить их где-то или ставить в очередь в памяти для других процессов (или процессов), которые будут проанализировать их и сохранить в db. Поэтому я не хочу изобретать колесо, так что могут быть некоторые фрагменты кода или некоторые lib, которые позволяют такую обработку данных?Twitter Streaming API. Как async обрабатывает твиты в php?
ответ
Я отвечаю на это довольно поздно, но другие могут оказаться полезными. Хотя Phirehose может работать, он выглядит довольно хрупким. Он не реализует полный HTTP-клиент, а скорее вручную отправляет заголовки и пытается проанализировать ответ.
Я бы рекомендовал использовать надлежащий HTTP-клиент. Вам не нужен неблокирующий ввод-вывод, если вы хотите использовать только один поток, но это может быть полезно, потому что вы можете написать результаты в другом месте, продолжая использовать поток Twitter.
Один из таких клиентов - Artax, который поддерживает потоковые ответы из коробки. Его можно легко комбинировать с streaming JSON parser. Вы можете find a full example в репозитории упомянутого анализатора JSON, вы можете использовать отдельный пакет для подписи запроса.
Эта комбинация уже проанализирует излучаемый поток, вам просто нужно сделать то, что вам нужно сделать с помощью твитов, например. суммируйте свои статистические данные и напишите их где-нибудь. Если вы не хотите блокировать потребление потока во время этого, вам потребуется что-то, что поддерживает неблокирующий ввод-вывод для записи ваших данных.
/** @var Response $response */
$response = yield $client->request(
(new Request($uri, "POST"))
->withHeader("authorization", $authorization)
);
if ($response->getStatus() !== 200) {
exit(1);
}
$parser = new StreamingJsonParser($response->getBody(), true);
while (yield $parser->advance()) {
// do whatever you want with your tweet here
var_dump($parser->getCurrent());
}
- 1. Получите последние твиты, используя Twitter Streaming API
- 2. ReadTimeoutError: Twitter Streaming API
- 3. Twitter Streaming API несанкционированным
- 4. Использование API Streaming Twitter
- 5. Playframework и Twitter Streaming API
- 6. Twitter streaming api hangs
- 7. Tweets from Twitter Streaming API
- 8. Twitter streaming api - получить комментарии
- 9. Почему некоторые твиты с тэгами отмечены тегами? (Twitter Streaming API)
- 10. Twitter Streaming ошибка API в PHP
- 11. StockTwits API Streaming и Поиск б Как Twitter Streaming
- 12. Как сохранить потоковые твиты из twitter-api в Clojure?
- 13. Twitter API Streaming by Locatons
- 14. Twitter streaming api - как читать ретвиты
- 15. Twitter Streaming API C#
- 16. Heroku Twitter Streaming API
- 17. twitter streaming API location
- 18. Flury-twitter streaming API
- 19. Node.js & Twitter Streaming API
- 20. Twitter API - как создать новые твиты
- 21. Twitter streaming API возвращает hangup
- 22. Twitter Streaming API - фильтрация по URL-адресам
- 23. Twitter streaming api 140dev error
- 24. Twitter Streaming API: отслеживание смены ключевых слов
- 25. twitter api получает твиты (сообщения)
- 26. Twitter API обнаруживает закрепленные твиты
- 27. Twitter API - как получить твиты в реальном времени от пользователя
- 28. Как получить потоковые твиты, используя twitter-api в clojure?
- 29. python-twitter streaming api support/пример
- 30. Twitter - Hadoop Data Streaming