Задать вопрос
kumaxim
@kumaxim
Web-программист

Как совместить PHP-библиотеку и Rails-приложение?

Всем доброго времени суток.
Дано приложение на Ruby on Rails. Замечательно написанное(с моей точки зрения), прекрасно работает и т.д. В качестве веб-сервера apache + mod__rails от passenger.
Также, имеется сторонняя библиотека, написанная на PHP, которая отлично выполняет то что нужно, в конкретном случае сбор, систематизация и выгрузка данных. Если это имеет значение - это некий новостной агрегатор, которой считает количество упоминаний(город, ФИО человека, название предприятия и т.д.) по разным источникам, и на этой основе выводит какие-то коэфиценты. Заказчику они понятны, я в них не вдавался.

Rails-приложение имеет админку, свои настройки и т.д. и также требует данные из PHP-либы для своей работы. В текущем варианте PHP-либа собирает нужную информацию, затем она чем-то там оборачивается и высылает результат своей работы на мыло(есть некий длинный служебный email под все это дело). Rails-приложение раз в N минут проверяет почту и, если там есть письмо от PHP-либы, она обрабатывает эту информацию(проверка на целостность и корректность, не более) и заносит ее к себе в БД.

Как мы все видим, это костыль. Самое правильное здесь решение - взять эту самую PHP-либу и переписать бы ее под Rails, но по срокам я в dead line тогда точно не впишусь(вариант сдвинуть dead line пока не рассматриваем).

Задачу, которую я пытаюсь решить - ускорить работу приложения, т.к. данных у владельца этого решения стало больше и вся описанная выше мною структура начинает уже изрядно тормозить.

Самый логичный вывод - убрать из этой цепочки email, совместив обе части приложения на одном веб-сервере. Вот собственно тут у меня и возникают все проблемы, поскольку я вообще не представляю как это можно сделать. Гугл/Яндекс по этому запросу молчат, либо я туда что-то не то пишу.

Собственно подскажите в какую сторону вообще копать? Есть ли какие-то мануалы на эту тему или хотя бы скиньте ключевые слова для гугла, ибо я сейчас в тупике.
  • Вопрос задан
  • 457 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@marazmiki
Укротитель питонов
Ключевое слово — API :)

Пусть rails-приложение будет, к примеру, сервером и по оговоренному адресу ожидать входящих данных. А php-приложение вместо того, чтобы слать email, шлёт HTTP-запрос на сервер rails.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
viktorvsk
@viktorvsk
Сложно представить, откуда в цепочки появился эмейл.
Если не нужно менять бизнес-логику "пхп-либы", а так же устраивает ее быстродействие, то в чем проблема, что бы по окончании работы "пхп-либа" не на почту отправляло содержимое, а на какое-то специальное API в рельсах ?
Ответ написан
@M1Anderson
Ruby on Rails developer
Самое правильное здесь решение - взять эту самую PHP-либу и переписать бы ее под Rails

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

Войдите, чтобы написать ответ

Похожие вопросы