首页 > 解决方案 > AP调度程序中的亚秒间隔

问题描述

我在 APScheduler 中运行一个需要以半秒间隔运行的进程,但“间隔”触发器似乎只接受低至 1 秒的值(仅基于文档,第二个参数采用 int)。有没有办法在 APScheduler 上获得亚秒级调度,或者是否有另一个调度库允许我以亚秒级间隔进行调度,然后在中途更改该间隔。

标签: pythonapscheduler

解决方案


我最终将进程创建为带有事件的单独线程。

def measure_value(self, meas_list, start_time, interval_time, stop_event):
    random.seed()
    while(not stop_event.is_set()):
        stop_event.wait(interval_time)
        measurements = [random.random(), random.random()]
        meas_time = time.time()
        '''
        meas_string = self.inst_ref.query('MEAS:CURR?;VOLT?') #grab the output current and voltage
        measurements = meas_string.split(';')
        '''
        meas_time = meas_time - start_time
        measurements.append(meas_time)
        meastuple = tuple(float(m) for m in measurements)
        meas_list.append(meastuple)
        print(meastuple)
        self.fp.update(meastuple)

最终调用另一个线程来设置停止事件,以便该循环停止执行并且线程关闭。


推荐阅读