微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。