Я использую rabbitmq на удаленном компьютере (cloudamqp.com) и создаю задание cron в Kubernetes.На моем локальном компьютере моя работа работает нормально, и cronJob Kubernetes отлично работает, но задание перенаправляет URL-адрес соединения rabbitmq на 127.0.0.1:5672
, и я получаю сообщение об ошибке.
pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: [Errno 111] Connection refused
Я проверяю журналы задания cronи мой URL-адрес соединения в порядке, но когда pika пытается подключиться к хосту, он автоматически перенаправляет на 127.0.0.1:5672
, так как мы знаем, что cron-модуль не работает на каком-либо сервере rabbitmq, поэтому он отклоняет соединение.
CronJob.yml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: scrape-news
spec:
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: scrape-news
spec:
containers:
- name: scrape-news
image: SCRAPER_IMAGE
imagePullPolicy: Always
restartPolicy: Never
schedule: '* * * * *'
successfulJobsHistoryLimit: 3
Соединение RabbitMQ
print(env.RABBIT_URL)
self.params = pika.URLParameters(env.RABBIT_URL)
self.connection = pika.BlockingConnection(parameters=self.params)
self.channel = self.connection.channel() # start a channel
URL-адрес соединения точно такой же и работает на моей локальной установке.