Я пытаюсь классифицировать, являются ли твиты геодезическими на основе определенных ключевых слов с использованием Ruby Twitter Gem. Я могу сделать это просто отлично от консоли рельсов, но я пошел, чтобы отразить мои результаты в представлении, и я просто не знаю, как это сделать.Где в проекте Rails Project для создания кода
Вот что я делаю в командной строке:
Я начинаю с создания моего потокового клиента:
client = Twitter::Streaming::Client.new do |config|
config.consumer_key = "MYCODE"
config.consumer_secret = "NOTYOURS"
config.access_token = "HANSHOT"
config.access_token_secret = "FIRST"
end
Тогда я инициализировать свои счетчики:
count = 0
geo = 0
И, наконец, Я вставляю свой короткий сценарий и запускаю ввод:
client.filter(:track => "cat") do |tweet|
count += 1
if(tweet.place.nil?)
# Do nothing
else
geo += 1
end
end
Для доступа к моим результатам мне нужно Ctrl + C и введите «geo» или «count» в консоли.
В идеальном мире у меня будет представление, в котором будут отображаться числа и геоданные. Когда я обновляю представление, указанное представление будет обновляться обновленными номерами.
Я попытался выбросить это в контроллер, но тогда страница никогда не загружается, потому что, по-видимому, контроллер бесконечно разбирает поток и никогда не получает возможность визуализации.
Я застрял в файле модели, но это тоже ничего не делало.
Итак, я об этом совершенно неправильно? Получает ли эти цифры невозможным нигде, кроме IRB?
Это хорошая информация, особенно то, что точно можно показать в представлении (вызов db, хелпер, переменная экземпляра). Тем не менее, я хочу постоянно запускать поток в фоновом режиме и получать обновленные подсчеты всякий раз, когда я обновляю представление. Это делает меня тем, что контроллер не должен быть тем, кто управляет потоком, но я все еще теряюсь за этим. – StephenMcMurtry
Нет ничего плохого в том, что контроллер напрямую управляет потоком, но он должен убедиться, что поток не работает навсегда. Если вы используете [этот модуль] (https://github.com/tweetstream/tweetstream), то это похоже на EventMachine и не может прекрасно воспроизводиться внутри вашего приложения Rails.Стандартный шаблон, который здесь применяется, состоит в том, чтобы иметь сценарий опроса, который пишет вещи в базу данных, и контроллер извлекает эти вещи для отображения. ActiveRecord делает это довольно легко. – tadman