Python-скрипт больше не работает как cron - PullRequest
0 голосов
/ 10 октября 2019

У меня есть установка водяного насоса для моей теплицы, и я использую Raspberry Pi в качестве таймера насоса. Он работал в течение нескольких недель, а затем я запустил скрипт, который на самом деле активирует насос, и он не отключится. Теперь cronjob, который я настроил для запуска скрипта, также не работает.

В общем, у меня был скрипт для запуска водяного насоса

#!/usr/bin/env python3
import RPi.GPIO as gpio
import time
import datetime

channel = 21

gpio.setmode(gpio.BCM)
gpio.setup(channel, gpio.OUT)


def pump_on(pin):
    gpio.output(pin, gpio.HIGH)

def pump_off(pin):
    gpio.output(pin, gpio.LOW)


#setting up cronjob to start at startup

if __name__ == '__main__':
    try:
        pump_on(channel)
        datetime = datetime.datetime.now()
        print("...Activating Sprinkler...: ", str(datetime))
        time.sleep(75)
        print("...Deactivating Sprinkler...")
        pump_off(channel)
        gpio.cleanup()
    except KeyboardInterrupt:
        gpio.cleanup()
        print("Interrupted!")
        pass

Он запускается через этот cronjob с помощью crontab -e

30 15 * * * /home/pi/Documents/water_pump.py >> ~/cron.log 2>&1

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

0 * * * * /home/pi/Documents/time_log.py >> ~/time.log 2>&1

Этот по-прежнему работает нормально.

Но некоторыенесколько дней назад я бежал ./water_pump.py

И он не отключился через 75 секунд, и мне нужно было вручную отключить систему, и теперь cronjob только для этого больше не работает.

Любой совет будет чрезвычайно признателен.

Редактировать: вывод grep CRON / var / log / syslog здесь: https://imgur.com/a/jfC9eRw

Это долго, и я не могу вставлять изображения

1 Ответ

0 голосов
/ 13 октября 2019

Я удалил строку из задания cron, а затем вставил ее в конец, и это сработало, так что, думаю, вот как это исправить.

...