использование скрипта octave в приложении Heroku

#node.js #heroku #amazon-ec2 #octave

#node.js #heroku #amazon-ec2 #октава

Вопрос:

У меня есть веб-приложение, которое я пытаюсь запустить в Heroku, которое в значительной степени зависит от вызова скрипта Octave. Для разработки / тестирования я использую экземпляр EC2 и node.js . На экземпляре EC2 я установил Octave.

Однако, когда я нажимаю на Heroku и пытаюсь вызвать этот скрипт octave (через вызов ajax), я получаю эту ошибку: https://devcenter.heroku.com/articles/error-codes#h13-connection-closed-without-response

Я читал, что Heroku работает на экземплярах AWS, поэтому я предполагаю, что можно каким-то образом вызвать скрипт Octave, поскольку я сделал это на своем собственном экземпляре EC2.

Разрозненная документация заставляет меня думать, что мне придется сказать Heroku установить Octave, когда я нажимаю на Heroku, но я не уверен, как это сделать. Будет ли это в скрипте запуска узла (и если да, то как)? Или это что-то еще, чего мне не хватает?

РЕДАКТИРОВАТЬ: я думаю, что вместо этого это может быть сделано с помощью Heroku buildpack — кто-нибудь может это подтвердить?

РЕДАКТИРОВАТЬ 2: я думаю, что ответ заключается в том, что мне нужен пакет сборки Octave, подобный: https://github.com/virtualstaticvoid/heroku-buildpack-r но для Октавы вместо R. Похоже, его не существует, поэтому я попробую свои силы в создании пользовательского buildpack.

Ответ №1:

Да, вы должны использовать buildpack. Я создал тот, который позволяет запускать скрипты Octave:

https://github.com/wclark3/heroku-buildpack-octave-dynare

Он также включает Dynare, пакет макромоделирования. Поэтому, если вы столкнулись с этим ответом, и вам нужна только Octave, просто разветвляйте репозиторий и извлекайте строки, включающие Dynare, из bin / compile.