Выполнение Java-кода в облаке
У меня есть Генетический алгоритм, реализованный на Java, я хочу написать уровень API/Service, чтобы любой разработчик мог запускать свою собственную функцию пригодности для своих задач, используя некоторые средства для расширения или передачи своего кода в облако и вызова некоторого метода API, например, init() и start(), которые действуют каким-то асинхронным образом и возвращают результат по завершении задачи.
Я ищу что-то вроде http://www.iron.io/worker и, скорее всего, я добавлю этот код в Google AppEngine.
Пожалуйста, покажите мне, как я могу достичь этого, или укажите мне на любой ресурс.
2 ответа
Вы можете использовать IronWorker для этого, шаги, скорее всего, будут примерно такими:
- Загрузите свой алгоритм как рабочий в IronWorker
- Создайте свой API, чтобы позволить вашим пользователям вызывать любую функцию, которая им нужна
- Ваш API затем поставит в очередь задачу IronWorker для вашего генетика
- Вы упомянули, что хотите, чтобы он был асинхронным, поэтому, как только рабочий завершит работу, он может вызвать обратный вызов к конечной точке, которую ваш пользователь предоставляет (webhook) с результатами (или он может ожидать и отвечать синхронно, в зависимости от того, сколько времени занимает выполнение вашего алгоритма)
Документы по IronWorker: http://dev.iron.io/worker/
Проверьте функцию Модули (ранее Backends) для GAE.
https://developers.google.com/appengine/docs/java/modules/
Объедините его с другими функциями, такими как "Очередь заданий" ( https://developers.google.com/appengine/docs/java/taskqueue/), и это может соответствовать вашим требованиям.