Я создал сценарий под названием «main.py», который делает небольшой веб-царапин и отправляет электронное письмо с SMTP.
Я установил задание Cron, чтобы запустить сценарий три раза в день-в 12:00, 18:00 и 21:00 (UTC-3). добавлено: < /p>
0 15,21,24 \* \* \* python /app/main.py \>\> /var/log/cron.log 2\>&1
Тем не менее, сценарий main.py вызывается каждый час, уважая только поле минуты в задании Cron (например, если я изменю на
0,15,20 15,21,24 \* \* \* python /app/main.py \>\> /var/log/cron.log 2\>&1
работает ежечасно, в минуту 0, 15 и 20 минут.
Bellow-мой сценарий .sh для запуска контейнера
#!/bin/bash
set -e
echo "Starting Xvfb..."
Xvfb :99 -screen 0 1280x1024x24 -nolisten tcp -ac &
sleep 3
echo 'starting cron'
crond -f -l 8 &
tail -f /var/log/cron.log
< /code>
И вот мой dockerfile: < /p>
FROM python:3.11-alpine
ENV DISPLAY=:99
WORKDIR /app
COPY . /app
COPY cron_job /etc/crontabs/root
RUN touch /var/log/cron.log
RUN apk update && \
apk add \
gcc \
g++ \
musl-dev \
libffi-dev \
make \
libc++ \
libc++-dev \
&& apk add --virtual .build-deps gcc g++ make musl-dev
RUN apk update && \
apk add \
firefox \
dbus \
ttf-freefont \
xorg-server \
xf86-video-vesa \
bash \
curl \
unzip \
xvfb-run \
su-exec \
libjpeg \
libpng
RUN apk add --no-cache bash curl busybox-suid && \
chmod u+s /bin/busybox
RUN wget https://github.com/mozilla/geckodriver/ ... x64.tar.gz
RUN tar -xzf geckodriver-v0.36.0-linux64.tar.gz
RUN mv geckodriver /usr/local/bin/geckodriver
RUN chmod +x /usr/local/bin/geckodriver
RUN pip install --upgrade pip && \
pip install -r requirements.txt
RUN chmod +x shebang.sh
CMD \["./script.sh"\]
Подробнее здесь: https://stackoverflow.com/questions/795 ... -container
Часовая настройка Cronjob игнорируется в альпийском контейнере Docker ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Python в контейнере Docker отказался от подключения к Postgres в сетевом контейнере Docker
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-