Можно ли уничтожить сервис dotcloud изнутри?

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

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

Очевидным способом сделать это будет интерфейс командной строки dotcloud, но он не устанавливается на экземпляры dotcloud. Также пользователь dotcloud не имеет права запускать команду shutdown.

Есть ли простой способ сделать это, или мне нужно будет развернуть специальную службу, которая устанавливает интерфейс командной строки dotcloud и может затем уничтожить себя?


person Armand    schedule 16.07.2013    source источник


Ответы (1)


У службы нет официального способа уничтожить себя, но вы можете, как вы описали, установить CLI и свои учетные данные (я бы предложил использовать ваш ключ API в переменной среды, установленной через dotcloud env set), а затем заскриптовать dotcloud destroy -A <app name> <servicename> вызов.

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

person Andy    schedule 19.07.2013
comment
Спасибо за совет. Есть ли собственный рецепт для dotcloud env? Или это должен быть просто сервис python? - person Armand; 22.07.2013
comment
Вы сможете установить dotcloud CLI, просто добавив dotcloud в файл requirements.txt в службе Python (это то же самое, как если бы вы сделали pip install dotcloud). - person Andy; 23.07.2013
comment
Есть ли причина не устанавливать ключ API через dotcloud.yml? - person Armand; 29.07.2013
comment
Это хороший способ установить его только для одной службы, но если вам нужно изменить значение позже, использование dotcloud env set может быть лучше (хотя ключ будет использоваться совместно со всеми вашими службами). - person Andy; 29.07.2013