Как запустить скрипт Python на сервере Rails? - PullRequest
1 голос
/ 12 января 2011

У меня есть сервер Rails, который должен запускать скрипт Python в фоновом режиме. Я знаю, что могу запустить его так же, как запускаю команды терминала в ruby, но какова производительность? лучше использовать Python Framework, а не Rails? Есть ли лучшие способы (с точки зрения оптимизации) для запуска сценариев Python на сервере Rails?

Ответы [ 3 ]

5 голосов
/ 12 января 2011

Если вы имеете в виду, что он должен запускаться периодически, просто установите его как задание cron, никаких особых характеристик производительности здесь не возникает.

Если вы имеете в виду, что он должен запускаться при запросе страниц изваш веб-сайт на Ruby, тогда простой запуск скрипта каждый раз не будет работать должным образом, так как он должен запускать интерпретатор Python снова и снова.

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

Если основная часть вашего сайта основана на функциональностискрипта Python, тогда да, вам, вероятно, лучше перейти на веб-фреймворк Python и загрузить его как модуль.

Если скрипт Python не очень большой, то, вероятно, вам лучше переписать егов Ruby.

В худшем случае сценарий большой и часто используется, но не составляетдостаточно вашего сайта, чтобы оправдать переход на Python.В этом случае я бы подумал об обертывании Python в демоне, с которым Ruby может общаться в фоновом режиме.

1 голос
/ 12 января 2011

Вы можете настроить демон в рельсах для выполнения скрипта Python.

http://railscasts.com/episodes/129-custom-daemon - Учебник по настройке демонов в рельсах

1 голос
/ 12 января 2011

Вы будете нести расходы на запуск python каждый раз, когда запускаете его из ruby. Стоимость будет такой же в среде Python, если вы не можете использовать сценарий Python в качестве библиотеки вместо этого.

...