Python如何在下午4:00停止此异步功能,并在需要时使用CTRL + C取消?

问题描述

我希望下面的程序做两件事。 1.每天下午4:00停下,如果我想取消,可以随时使用CTRL + C取消。我怎么做?此功能程序基本上从11 AM-4PM提取JSON数据并将其写入MysqL DB。

    def asyncfun(func):
    @wraps(func)
    def async_func(*args,**kwargs):
        func_hl = Thread(target=func,args=args,kwargs=kwargs)
        func_hl.daemon = True
        func_hl.start()
        return func_hl
    return async_func

def schedule(interval):
    def decorator(func):
        def periodic(scheduler,interval,action,actionargs=()):
            scheduler.enter(interval,1,periodic,(scheduler,actionargs))
            action(*actionargs)

        @wraps(func)
        def wrap(*args,**kwargs):
            scheduler = sched.scheduler(time.time,time.sleep)
            periodic(scheduler,func)
            scheduler.run()
        return wrap
    return decorator

@asyncfun
@schedule(60)
def periodic_event():
    #Error handling
    try:
        <<my code here>>
    except Exception as e:
        print(e)
        pass

if __name__ == '__main__':
    print('Start')
    print("Press CTRL+C to Stop")  //This should work
    periodic_event()
    print('End') 
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)