Как использовать EventMachine (суперфидовое рубеж-драгоценный камень) в контроллере Rails?

StackOverflow https://stackoverflow.com/questions/7828794

Вопрос

Спасибо, что посмотрели на это.

К сожалению, я новичок в Rails. В настоящее время мне приходится реализовать конечную точку, которую SuperFeedR может обновлять обновления, но эта конечная точка должна быть в контроллере Rails.

Первоначально мне показалось, что это должна быть фоновая работа, которая работает, а остальная часть Интернета имеет тенденцию соглашаться, но на меня оказывается давление, чтобы включить это как контроллер Rails - который меня смущает. Я не уверен, как включить Eventmachine в цикл запроса/ответа.

Я знаю, что сеть полна примеров, но никто не отвечает на мой вопрос, как направить это. Я понятия не имею.

У меня есть контроллер Rails, называемый SuperFeeds. Я хочу, чтобы SuperFeeder подтолкнул обновления в что -то вроде MyRailSApp/SuperFeeds/

Внутри каналов я хочу осмотреть толстой контент, а затем написать результаты этого другому контроллеру, который на самом деле имеет модель и сохранит его.

По сути, контроллер, называемый Feeds, просто необходимо получить и передавать информацию. Это смущает меня, однако, потому что, похоже, ему приходится реализовать что -то, что является давним процессом внутри контроллера рельсов - и я даже не уверен, может ли это сработать.

Кто -нибудь знает, как это было сделано с Rails, но не используя Eventmachine в качестве фоновой работы? В конце концов мне действительно нужно знать, что это возможно.

-L

Это было полезно?

Решение

Внутри каналов я хочу осмотреть толстой контент, а затем написать результаты этого другому контроллеру, который на самом деле имеет модель и сохранит его.

Почему бы не сделать всю работу в одном контроллере? Если вы пытаетесь отделить разные проблемы, вы можете даже использовать две модели - например, одну для проведения осмотра/анализа, а одна для работы с постоянным. Но редко вам нужно или хотите перенести данные от контроллера к контроллеру.

Я не уверен, как включить Eventmachine в цикл запроса/ответа.

Никогда не использовал Superfeedr, но быстро посмотрел на документы - вы используете клиент XMPP или Pubsubhubbub? Я предполагаю последнее? Если это так, вы хотите сделать настойчивость (и любой другой трудоемкий процесс) асинхронный (вне Цикл запроса/RESP), верно?

Если вы используете веб-сервер на основе Eventmachine, такой как Thin, в основном каждый цикл запросов запускается в реакторе EM. Таким образом, вы можете использовать объекты EM для разгрузки, таких как пул отложенных потоков. Для примера этого в действии, проверьте Enigmamachine, особенно здесь. Анкет (Я считаю, что в дополнение к клиентской библиотеке DB должна быть асинхронной.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top