Size: a a a

2019 December 23

SV

Sanya Voronin in DevOps
Andrey Kopeyko
Я бы завернул письма от этого "контакта" на исходящий релей, где postfix+opendkim подписал бы всё per-домен ключами, да и разослал во внешний мир.
спасибо! тоже идея норм и как вариант, чтоб не переносить тонну данных на другой сервис. можно попробовать 👌
источник
2019 December 24

Ч

ЧерныйЛифчик in DevOps
источник

GG

George Gaál in DevOps
Andrey
всем привет, добавил сервис
[Unit]
Description=Resque
[Service]
User=deploy
WorkingDirectory=/home/deploy/current
ExecStart=/home/deploy/.rbenv/shims/cap stage resque:start
ExecStop=/home/deploy/.rbenv/shims/cap stage resque:stop
Restart=on-failure
[Install]
WantedBy=multi-user.target

запускаю systemctl start resque.service и по логам смотрю
Dec 23 14:34:28 test cap[4877]: 00:00 resque:start
Dec 23 14:34:28 test cap[4877]:       Starting 1 worker(s) with QUEUE: positions
Dec 23 14:34:28 test cap[4877]:       01 nohup env RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=2.4.6 $HOME/.rbenv/bin/rbenv exec bundle exec rake RACK_ENV=stage RAILS_ENV=stage VVERBOSE=1 QUEUE="positions" PIDFILE=/home/deploy/shared/tmp/pids/resque_work_1.pid BACKGROUND=yes INTERVAL=5 resque:work >> /dev/null 2>> /dev/null
Dec 23 14:34:37 test cap[4877]:     ✔ 01 deploy@localhost 8.847s
Dec 23 14:34:37 test cap[4877]:       Starting 1 worker(s) with QUEUE: sms
Dec 23 14:34:37 test cap[4877]:       02 nohup env RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=2.4.6 $HOME/.rbenv/bin/rbenv exec bundle exec rake RACK_ENV=stage RAILS_ENV=stage VVERBOSE=1 QUEUE="sms" PIDFILE=/home/deploy/shared/tmp/pids/resque_work_2.pid BACKGROUND=yes INTERVAL=5 resque:work >> /dev/null 2>> /dev/null
Dec 23 14:34:46 test cap[4877]:     ✔ 02 deploy@localhost 9.156s
Dec 23 14:34:47 test systemd[1]: Started Session 804 of user deploy.
Dec 23 14:34:47 test cap[6182]: 00:00 resque:stop
Dec 23 14:34:47 test cap[6182]:       01 kill -s QUIT 5258 && rm /home/deploy/shared/tmp/pids/resque_work_1.pid
Dec 23 14:34:47 test cap[6182]:     ✔ 01 deploy@localhost 0.186s
Dec 23 14:34:47 test cap[6182]:       02 kill -s QUIT 5412 && rm /home/deploy/shared/tmp/pids/resque_work_2.pid
Dec 23 14:34:47 test cap[6182]:     ✔ 02 deploy@localhost 0.170s
Dec 23 14:34:47 test systemd[1]: Stopping User Manager for UID 1000...


он стартует resque, но потом сразу выполняется команда stop, в чем может быть проблема?
он форкается? вероятно тип запуска не тот?
источник

A

Alexander in DevOps
George Gaál
он форкается? вероятно тип запуска не тот?
это таска капистраны :/
источник

A

Alexander in DevOps
Andrey
всем привет, добавил сервис
[Unit]
Description=Resque
[Service]
User=deploy
WorkingDirectory=/home/deploy/current
ExecStart=/home/deploy/.rbenv/shims/cap stage resque:start
ExecStop=/home/deploy/.rbenv/shims/cap stage resque:stop
Restart=on-failure
[Install]
WantedBy=multi-user.target

запускаю systemctl start resque.service и по логам смотрю
Dec 23 14:34:28 test cap[4877]: 00:00 resque:start
Dec 23 14:34:28 test cap[4877]:       Starting 1 worker(s) with QUEUE: positions
Dec 23 14:34:28 test cap[4877]:       01 nohup env RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=2.4.6 $HOME/.rbenv/bin/rbenv exec bundle exec rake RACK_ENV=stage RAILS_ENV=stage VVERBOSE=1 QUEUE="positions" PIDFILE=/home/deploy/shared/tmp/pids/resque_work_1.pid BACKGROUND=yes INTERVAL=5 resque:work >> /dev/null 2>> /dev/null
Dec 23 14:34:37 test cap[4877]:     ✔ 01 deploy@localhost 8.847s
Dec 23 14:34:37 test cap[4877]:       Starting 1 worker(s) with QUEUE: sms
Dec 23 14:34:37 test cap[4877]:       02 nohup env RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=2.4.6 $HOME/.rbenv/bin/rbenv exec bundle exec rake RACK_ENV=stage RAILS_ENV=stage VVERBOSE=1 QUEUE="sms" PIDFILE=/home/deploy/shared/tmp/pids/resque_work_2.pid BACKGROUND=yes INTERVAL=5 resque:work >> /dev/null 2>> /dev/null
Dec 23 14:34:46 test cap[4877]:     ✔ 02 deploy@localhost 9.156s
Dec 23 14:34:47 test systemd[1]: Started Session 804 of user deploy.
Dec 23 14:34:47 test cap[6182]: 00:00 resque:stop
Dec 23 14:34:47 test cap[6182]:       01 kill -s QUIT 5258 && rm /home/deploy/shared/tmp/pids/resque_work_1.pid
Dec 23 14:34:47 test cap[6182]:     ✔ 01 deploy@localhost 0.186s
Dec 23 14:34:47 test cap[6182]:       02 kill -s QUIT 5412 && rm /home/deploy/shared/tmp/pids/resque_work_2.pid
Dec 23 14:34:47 test cap[6182]:     ✔ 02 deploy@localhost 0.170s
Dec 23 14:34:47 test systemd[1]: Stopping User Manager for UID 1000...


он стартует resque, но потом сразу выполняется команда stop, в чем может быть проблема?
Хотя, то, что ты делаешь — это отвратительное извращение, но Type=oneshot в секции [Service] должно помочь тебе. Но я бы посоветовал не запускать из юнитов сервисы через капистрану (спасибо, что хотя бы на локалхосте, но это все равно странно).
источник

GG

George Gaál in DevOps
Alexander
Хотя, то, что ты делаешь — это отвратительное извращение, но Type=oneshot в секции [Service] должно помочь тебе. Но я бы посоветовал не запускать из юнитов сервисы через капистрану (спасибо, что хотя бы на локалхосте, но это все равно странно).
почему это странно?
источник

GG

George Gaál in DevOps
хорошо, что коллега не transient unit использовал )))))
источник

GG

George Gaál in DevOps
вообще юниты это ХОРОШО. Упорядочивают, так сказать
источник

A

Alexander in DevOps
George Gaál
почему это странно?
Потому что деплоилка должна управлять запуском сервисов, а не сервисы должны запускаться через вызов деплоилки.
источник

GG

George Gaál in DevOps
Alexander
Потому что деплоилка должна управлять запуском сервисов, а не сервисы должны запускаться через вызов деплоилки.
с этим я согласен
источник

GG

George Gaál in DevOps
Alexander т.е. правильно ли я тебя понял, что условное обновление докер имиджей на локальной машине (не перезапуск) через системди юнит - ты одобряешь? А вот капистрану - не очень?
источник

A

Alexander in DevOps
George Gaál
Alexander т.е. правильно ли я тебя понял, что условное обновление докер имиджей на локальной машине (не перезапуск) через системди юнит - ты одобряешь? А вот капистрану - не очень?
С чего ты решил, что я это одобряю? o_O
источник

GG

George Gaál in DevOps
т.е. вообще юнитами не пользоваться? O_o
источник

A

Alexander in DevOps
George Gaál
т.е. вообще юнитами не пользоваться? O_o
Пользоваться. Для запуска сервисов, а не для их деплоя.
источник

GG

George Gaál in DevOps
юниты подходят для любых джобов
источник

GG

George Gaál in DevOps
ну, не хочу, я, скажем, на локалхост тащить оркестратор
источник

GG

George Gaál in DevOps
или кронжобы - тоже идеально через сустемди делать
источник

GG

George Gaál in DevOps
я уж не говорю, что если ты некую одноразовую джобу описываешь как юнит - у тебя голова не болит - в скрине ее запускать или нет
источник

A

Alexander in DevOps
George Gaál
юниты подходят для любых джобов
Не для любых, а для типовых. Запуск любой программы оборачивать в service довольно странно. Как и иметь лишние прослойки, вроде, запуска деплоилки внутри service. Если хочешь запускать сервис типовым образом: опиши запуск в юните и дергай юнит из деплоилки.
источник

GG

George Gaál in DevOps
Alexander
Не для любых, а для типовых. Запуск любой программы оборачивать в service довольно странно. Как и иметь лишние прослойки, вроде, запуска деплоилки внутри service. Если хочешь запускать сервис типовым образом: опиши запуск в юните и дергай юнит из деплоилки.
есть transient юниты
источник