Как передать периодическую задачу на аутсорсинг (т. е. в «облако»)?

StackOverflow https://stackoverflow.com/questions/427229

Вопрос

Предположим, клиент доволен проделанной вами работой по созданию сценария для выполнения задачи, которая собирает некоторую информацию и выводит здоровенный файл базы данных.Затем они заинтересованы в периодическом запуске задачи (примерно ежемесячно) без вмешательства человека.Клиент не заинтересован в локальном выполнении задачи, поэтому вам приходится искать другое место для ее выполнения — где-нибудь, как бы банально это ни звучало, «в облаке».

Какие методы/услуги вы бы использовали, чтобы сделать это дешевле?

Вещи, которые я исследовал на данный момент:

  • Амазон EC2.Звучит как хорошая идея, но нет очевидного способа останавливать и перезапускать экземпляры по расписанию.Платить >70 долларов в месяц за то, чтобы экземпляр работал cron, но не делал ничего полезного, кажется пустой тратой.
  • Стисните зубы и заплатите за виртуальный частный сервер (VPS).Опять же, даже платя 20 долларов в месяц (Слайсхост, например) кажется излишним, если задача будет выполняться всего несколько часов в месяц.
  • Учетная запись общего хостинга и ВебКрон.Кажется немного МакГайверским и, возможно, нарушает условия обслуживания многих служб общего хостинга, которые не часто благосклонно относятся к длительным задачам.

Есть ли у вас опыт использования этих или других вариантов?

Это было полезно?

Решение

Я бы использовал Amazon EC2.Просто запустите экземпляр, скопируйте в него сценарий, добавьте его в процедуру запуска и добавьте сообщение о завершении работы в конец сценария.Объедините его в свой собственный образ и закройте экземпляр.Теперь вы можете просто запускать свой собственный образ ежемесячно, и он выполнит сценарий и завершит работу.За экземпляр m1.small вы будете платить всего 10 центов в час.

Вам просто нужен кто-то вручную, запускающий экземпляр ежемесячно, или ваш клиент должен установить небольшое ежемесячное задание cron для запуска экземпляра.

Примечание:требуется выключение -h, иначе экземпляр перезагрузится вместо остановки

Другие советы

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

Я использую службу общего хостинга, которая позволяет это, и использую ее для ночной синхронизации.

Запуск самой задачи на EC2 на самом деле звучит очень актуально, но запуск самого cron на EC2 действительно является пустой тратой.

Я не могу придумать, как запустить cron на чужой машине.

Вы можете использовать http://guardiano.pm и затем вы создаете задание и вызываете свой API, когда захотите.Затем Гурадиано вызовет ваш/api/dothat, и приложение выполнит некоторую задачу.Чтобы обеспечить безопасность, нужно отправить некоторый параметр вместе с запросом, и только если будет отправлен правильный параметр, вы выполните действие.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top