Это было самое близкое, что я мог получить к тому, что я хотел, так как я знал, что код, который нужно вызывать и запускать каждую секунду, и я знал, что для его запуска требуется от 500 до 600 миллисекунд.
Я использовалthreading.Timer для запуска кода каждые 900 миллисекунд, и это заставляет код выполняться не реже одного раза в секунду, минуя смещение времени, которое я испытывал.
from Sessions import session
import sched, time, threading
Event_scheduler = sched.scheduler(time.time, time.sleep)
##
start_time = time.time()
def run():
threading.Timer(0.9, run).start()
session()
run()
Обратной стороной этого является простая математика каждый N-йВо-вторых, у меня есть точка, в которой код запускался дважды (пример 23: 59: 01: 0050 и снова в 23: 59: 01: 0950).Но лишние данные легко удаляются путем нахождения дубликатов 23:59:01 == 23:59:01 и удаления одного из двух