Процесс на Heroku, который подключается к внешней розетке - PullRequest
3 голосов
/ 30 августа 2011

Мой сервер размещен на Heroku.Источник данных для моего приложения является внешним по отношению к моему приложению.Ниже приведен способ извлечения данных:

  1. Инициализация процесса, который подключается к сокету @ на сервере сторонней организации.
  2. Сохраните данные, которые поступают через это подключение к сокету.

Теперь мой вопрос: возможно ли на Heroku запускать такие процессы, которые должны постоянно работать постоянно, прослушивая сокет на внешнем сервере?

Ответы [ 3 ]

1 голос
/ 31 августа 2011

Процессы в Heroku могут прослушивать только HTTP-трафик через порт 80. Как упоминал Энди, Node.js - ваш лучший выбор для запуска подобной службы на Heroku.

0 голосов
/ 31 августа 2011

Если я вас правильно понимаю, вам нужно запустить фоновый процесс на heroku, который подключается к внешнему серверу - этот процесс затем сохраняет данные из API локально?

Доступ к внешней услуге : То, что я знаю о Heroku, не ограничивает доступ к внешним хостам или портам. Действительно, у меня есть приложение, которое подключается к моей базе данных mongodb на mongohq.

Длительный процесс : Это, безусловно, возможно при использовании нового стека Celadon Cedar . В новом стеке кедра используется концепция, называемая Procfile , которая позволяет запускать любой сценарий (например, ruby, bash, node.js) в качестве процесса.

Сохранение данных : Heroku имеет файловую систему только для чтения (исключая / tmp), поэтому вам необходимо сохранить данные, поступающие из API, в базу данных (или где-то подобное).

0 голосов
/ 30 августа 2011

Я думаю, что это может быть работа для Node.js, которую вы можете запустить на heroku.Логический поток будет заключаться в подключении к серверу участника с помощью приложения node.js, а затем, когда данные будут получены, он вызовет метод «обратного вызова».Этот метод может затем сделать веб-запрос обратно на сервер Rails с данными.

Для примеров чего-то подобного, посмотрите пример приложения pubnub node.js:

https://github.com/pubnub/pubnub-api/tree/master/nodejs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...