Почему не запланировать работу в этом python сценарии? - PullRequest
0 голосов
/ 30 апреля 2020

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)

Если у вас есть какие-либо вопросы, просто задавайте, и я постараюсь ответить так быстро, как смогу.

1 Ответ

0 голосов
/ 30 апреля 2020

Важно

Я бы порекомендовал использовать cron job для такого рода вещей. Предлагаемое здесь решение также будет работать, но оно будет очень нестабильным, так как перестанет работать, если сценарий когда-либо остановится, и его придется перезапустить, если когда-либо будет выключен компьютер.


При запуске сценария я получить ошибку

schedule.ScheduleValueError: Неверный формат времени

Я погуглил формат времени и изменил все время с

schedule.every().day.at("08.00").do(jobb)

На

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

И это работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...