Безсерверное выполнение сценария Perl? - PullRequest
0 голосов
/ 02 ноября 2018

поэтому я пытаюсь собрать довольно простое безсерверное приложение, чтобы лучше изучить архитектуру. Это довольно простая вещь - пользователь загружает данные 23andme, скрипт perl преобразует txt-файл в vcf, который загружается в облачное хранилище, Google Genomics берет его оттуда и передает в bigquery для аннотаций. Автоматизировать это в конвейер было бы довольно легко с постоянным виртуальным компьютером, но я надеялся, что кто-то здесь узнает что-то очевидное, что я только что пропустил

У меня есть приличное представление о том, как автоматизировать большинство этого в автоматический конвейер, но сценарий perl, кажется, немного препятствует. Возможно, потому, что perl - один из немногих языков, о которых я даже не знаю базового синтаксиса, но есть ли у кого-нибудь какие-либо рекомендации по поводу того, как я могу это сделать, если не считать переписывания скрипта 23andme-vbf в Python или отмены «серверная» часть этой идеи, поскольку автоматизировать все это было бы довольно тривиально с постоянным виртуальным компьютером, но я надеялся, что это может быть что-то очевидное, что я просто пропустил.

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

Ответы [ 3 ]

0 голосов
/ 02 ноября 2018

Вы можете попытаться преобразовать код perl в javascript, используя emscripten и запустить его с Cloud Functions .

Существуют некоторые онлайн-инструменты, которые позволяют запускать perl через интерпретатор, созданный с помощью emscripten, с запущенным javascript. Вы можете попробовать их, вставив код Perl в браузер:

https://www.shlomifish.org/microperl-web-repl-v1/repl.html
https://gfx.github.io/perl.js/

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

0 голосов
/ 03 ноября 2018

Perl поддерживается в Google App Engine, как описано в Google Cloud Blog

Существуют примеры, в частности, для запуска приложений Mojolicious, таких как это Github Repo , но я думаю, это во многом зависит от того, как вы хотите создать свое решение.

Самым простым подходом может быть запуск вашего Perl-приложения в контейнере.

0 голосов
/ 02 ноября 2018

Это будет нетривиально, даже если вы знаете базовый синтаксис Perl. Google Cloud поддерживает Perl только для запуска приложения Mojolicious внутри контейнера Perl Docker . С вашей стороны, вам нужно будет обернуть ваш Perl-скрипт в Mojolicious приложение, которое будет развернуто в облаке.

...