2012-04-19 3 views
3

Я хочу, чтобы мое приложение Rails вызывало Java-программу для выполнения трудоемкой работы. Каков наилучший способ получить выход из программы Java в Ruby? Выходной текст - около 60 000 символов для каждого запроса.Вызов программы Java в Ruby и получение вывода

Есть ли лучший способ, чем писать/читать из текстовых файлов?

Я не хочу использовать JRuby.

+0

Означает ли «трудоемкий», что вы хотите, чтобы это произошло асинхронно? –

+0

Я думаю, что он означает, что программа java выполняет много повторяющихся действий. – texasbruce

+0

Нет необходимости в асинхронном выполнении – bevanb

ответ

2
output = %x{java your_program.java} 
+0

Nice. Спасибо @texasbruce, именно то, что я искал. – bevanb

1

В зависимости от масштабов. Возможно, стоит создать протокол обмена сообщениями, такой как RabbitMQ.

Если вы просто настраиваете монитор или другой процесс, управляемый сценарием, вы можете посмотреть на ruby's IO.popen, но это все равно оставит вас разбор текстовых потоков.

Смежные вопросы