为什么不在这个 python 脚本中安排工作?

Why won't schedule work in this python script?

schedule 在此脚本中不起作用。脚本在没有 schedule 的情况下工作得很好,但是你在这里看到的脚本不会 运行,当我 运行 sudo python3 "the script file" 它开始 运行 脚本但没有发生了。有人知道为什么以及如何解决它吗?

import Adafruit_DHT
import requests
import schedule
import time
sensor = Adafruit_DHT.DHT22
pin = 2
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
def jobb():
    print('Kjører script...')
    if humidity is not None and temperature is not None:
        print('Temperature ={0:0.1f}*C  Humidity = {1:0.1f}%'.format(temperature, humidity))
        payload = {'temp': temperature, 'hum': humidity}
        r = requests.post('http://192.168.1.7/test/MySQL_POST_Test.php, data=payload')
        print(r.text)
    else:
        print('Failed to read the sensor, try "sudo python3 sensor-post.py" again.')
schedule.every().day.at("00.00").do(jobb)
schedule.every().day.at("02.00").do(jobb)
schedule.every().day.at("04.00").do(jobb)
schedule.every().day.at("06.00").do(jobb)
schedule.every().day.at("08.00").do(jobb)
schedule.every().day.at("10.00").do(jobb)
schedule.every().day.at("12.00").do(jobb)
schedule.every().day.at("14.00").do(jobb)
schedule.every().day.at("16.00").do(jobb)
schedule.every().day.at("18.00").do(jobb)
schedule.every().day.at("20.00").do(jobb)
schedule.every().day.at("22.00").do(jobb)
while True:
    schedule.run_pending()
    time.sleep(1)

如果您有任何问题,请尽管提问,我会尽快回复。


重要

我建议使用 cron job 来处理这类事情。这里提出的解决方案也可以工作,但它非常不稳定,因为如果脚本停止,它将停止工作,并且如果计算机关闭,则必须重新启动。


当运行你的脚本时,我收到错误

schedule.ScheduleValueError: Invalid time format

我用谷歌搜索了时间格式并从

更改了所有时间
schedule.every().day.at("08.00").do(jobb)

schedule.every().day.at("08:00").do(jobb)

而且有效