#python #openshift
#python #openshift
Вопрос:
Я пытаюсь создать решение для отправки почты, еженедельные напоминания по электронной почте для коллег, и я пытаюсь сделать это с помощью OpenShift. На данный момент я создал скрипт на Python, который инициализирует подключение к нашему корпоративному SMTP-серверу и отправляет тестовое сообщение.
import smtplib
s = smtplib.SMTP('smtp.company.com', 25)
print(s.help())
print(s.helo())
print(s.mail("my.email@company.com"))
print(s.rcpt("my.email@company.com"))
s.data("From: my.email@company.comrnTo: my.email@company.comrnrnTest message from SMTP serverrn.rn.")
print(s.quit())
Затем OpenShift извлекает этот код из репозитория Git и создает сборку, которая затем создает pod.
Проблема становится очевидной, когда модуль выходит из строя со статусом «Аварийное завершение цикла», заставляя код снова запускаться в цикле на неопределенный срок.
Мой вопрос заключается в том, предназначен ли OpenShift для запуска этих одноразовых заданий, которые запускаются извне, например, с помощью Airflow. Или есть конкретный способ заставить модуль запускаться только после его запуска и не запускать снова после выполнения команды? Я попытался установить restartPolicy в модуле, сборке и развертывании, но я либо получаю сообщение об ошибке, в котором говорится, что restartPolicy:Never не является поддерживаемым значением, либо что параметр нельзя изменить.
Пожалуйста, помогите мне с решением этой задачи. Спасибо.
Комментарии:
1. Одноразовые задания — это именно тот вариант использования заданий ( docs.openshift.com/container-platform/4.5/nodes/jobs /… )