У меня есть приложение python, которое отслеживает автобусы в моем городе для определенных данных, используя их API прибытия. У меня ограниченное количество звонков, которые я могу сделать, и я не хочу их перегружать в любом случае, поэтому в настоящее время я использую 30 потоков для отслеживания данных на определенных автобусных остановках каждый день. Каждый поток случайным образом выбирает автобусную остановку и непрерывно отслеживает данные для автобусов, которые прибывают на эту остановку.
Идея состоит в том, что я хочу, чтобы в конечном итоге я получал данные хотя бы за один день на каждой автобусной остановке, но я думаю, Порядок следования автобусных остановок может привести к проблемам с получением данных от тех же водителей. Мое решение состоит в том, что каждый раз, когда я запускаю поток, я случайным образом выбираю автобусную остановку из полного списка автобусных остановок, а затем помещаю ее в другой список тех, которые я уже отслеживал (он выбирается случайным образом, пока не получит ту, которая еще не отслеживался). Когда список имеет ту же длину, что и полный список, он очищается (имеется в виду, что за каждую остановку отслеживаются данные за день), и мы повторяем цикл до тех пор, пока он снова не заполнится, и т. Д. c.
tldr вот часть, которая меня интересует: Я хочу остановить свои текущие запущенные темы и получать новые темы в 2:00 AM каждую ночь. Если я хочу достичь этого, было бы лучше написать что-нибудь в моем приложении, которое делает это, или выполнить работу cron, или просто перезапустить приложение на сервере в 2:00 ночи каждую ночь?
Вот код для справки:
if __name__ == "__main__":
numstops = 30
stops_to_track = make_stop_list(numstops)
for stop in stops_to_track:
_thread.start_new_thread(track_data, (stop,))
time.sleep(10)
while True:
pass