python 3.7 sched 运行 休眠到负值
python 3.7 sched running sleep to neg value
修改问题
有没有一种方法可以使用 treading 和 sched 创建一个 for 循环,您可以在其中 运行 一个脚本,只要您需要,就可以每秒在 3 个 tread 之间不断跳转喜欢
for thread01 in schead:
run at 00:00:01.0000
else(thread02):
run at 00:00:02.0000
else(thread03):
run at 00:00:03.0000
并让它不断循环确实减轻了漂移和负睡眠值,因为每次代码 运行s 在下一秒之前它有 1000 毫秒的执行时间
我已经测试过 session_create 运行s 在 480 到 530 毫秒之间不断执行
旧问题有助于减轻时间漂移的旧代码
from main import session_create
import sched, datetime, threading
def timestamp():
next_call = time.time()
while True:
session_create()
print (datetime.datetime.now())
nextcall = next_call+1;
time.sleep(nextcall - time.time())
timerThread = threading.Thread(target=timestamp)
timerThread.daemon = True
timerThread.start()
这是我最接近我想要的,因为我知道代码需要被调用并且每秒 运行,而且我知道 运行 需要 500 到 600 毫秒].
我每 900 毫秒使用 threading.Timer 到 运行 代码,这导致代码每秒至少 运行 一次,绕过了我正在经历的时间漂移。
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 并删除两个
之一,可以轻松删除额外的数据
修改问题
有没有一种方法可以使用 treading 和 sched 创建一个 for 循环,您可以在其中 运行 一个脚本,只要您需要,就可以每秒在 3 个 tread 之间不断跳转喜欢
for thread01 in schead:
run at 00:00:01.0000
else(thread02):
run at 00:00:02.0000
else(thread03):
run at 00:00:03.0000
并让它不断循环确实减轻了漂移和负睡眠值,因为每次代码 运行s 在下一秒之前它有 1000 毫秒的执行时间
我已经测试过 session_create 运行s 在 480 到 530 毫秒之间不断执行
旧问题有助于减轻时间漂移的旧代码
from main import session_create
import sched, datetime, threading
def timestamp():
next_call = time.time()
while True:
session_create()
print (datetime.datetime.now())
nextcall = next_call+1;
time.sleep(nextcall - time.time())
timerThread = threading.Thread(target=timestamp)
timerThread.daemon = True
timerThread.start()
这是我最接近我想要的,因为我知道代码需要被调用并且每秒 运行,而且我知道 运行 需要 500 到 600 毫秒].
我每 900 毫秒使用 threading.Timer 到 运行 代码,这导致代码每秒至少 运行 一次,绕过了我正在经历的时间漂移。
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 并删除两个
之一,可以轻松删除额外的数据