Krokizo Ответов: 1

Таймер в Python работает только в течение x секунд, а затем останавливается


Я получаю информацию о погоде каждые X секунд, но кажется, что после выполнения трех потоков таймер просто останавливается. Проблема в том, что это работало два дня назад, и я не уверен, что что-то было изменено, так как я не вижу существенной разницы.

import requests
import json
import threading
import time
from threading import Thread
import _sqlite3


def main():
    threading.Timer(10, giveVelingrad).start()
    threading.Timer(15, giveSofia).start()
    threading.Timer(25, givePlovdiv).start()

   

def giveVelingrad():
    city = "Velingrad"
    response = requests.get("http://api.openweathermap.org/data/2.5/weather?q=" +city+ "&appid=2e8707d1eb97fbbba33ef766d9ed80ac&units=metric")
    weather = response.json()
    www = time.strftime("%d.%m.%y %H.%M.%S")
    print("\n",www)
    print("The weather for ", weather['name'])
    print("The temperature is ", weather['main']['temp'])

def giveSofia():
    city = "Sofia"
    response = requests.get("http://api.openweathermap.org/data/2.5/weather?q=" +city+ "&appid=2e8707d1eb97fbbba33ef766d9ed80ac&units=metric")
    weather = response.json()
    www = time.strftime("%d.%m.%y %H.%M.%S")
    print("\n",www)
    print("The weather for ", weather['name'])
    print("The temperature is ", weather['main']['temp'])

def givePlovdiv():
    city = "Plovdiv"
    response = requests.get("http://api.openweathermap.org/data/2.5/weather?q=" +city+ "&appid=2e8707d1eb97fbbba33ef766d9ed80ac&units=metric")
    weather = response.json()
    www = time.strftime("%d.%m.%y %H.%M.%S")
    print("\n",www)
    print("The weather for ", weather['name'])
    print("The temperature is ", weather['main']['temp'])
    

if __name__ == '__main__':
    main()


Что я уже пробовал:

Пожалуйста, помогите, так как я, кажется, не могу понять, в чем проблема

1 Ответов

Рейтинг:
1

Richard MacCutchan

Ваши функции give будут выполняться только один раз, см. 17.1. потоковая обработка - параллелизм на основе потоков-документация Python 3.5.2[^].