
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
当需要定时修改数据库时,一般我们都选择起一个定时进程去改库。如果将这种定时任务写入业务中,写成一个接口呢,定时进程显得有些不太合适?如果需要定时修改100次数据库,常规做法会启动100个进程,虽然这种进程非常轻量级,但还是会感觉不爽。实际上我们可以使用threading.Timer创建相应的线程来执行改库操作,思路也比较简单。
1.传入执行改库操作的时间update_time,用update_time和当前时间相减法,得到距离改库操作还有多少时间time_delay。求两个标准时间格式字符串的时间差可以使用datetime.datetime.strptime()来格式化时间,格式化后的时间可以直接相减法,对结果执行.seconds()就可以转化成秒
2.将改库操作封装成方法update(),然后将update和时间差传入threading.Timer创建的线程,用法为threading.Timer(interval, function, args=[], kwargs={})创建线程实例,interval为延迟执行的时间,单位是秒,然后,start()执行。Timer是非阻塞的,可以创建出多个线程互不影响。
IT开发作为2018有前景的行业,很多人都在毕业之后先选择了这个行业。世界互联网大会给了人们巨大的希望,面对这个万人过独木桥的情景,我们更应该尽早的武装好自己。达内时代科技集团致力于培养几大方向中软件人才课程与少儿教育课程。合肥python培训助你一臂之力,更多免费训练营让你从零起步。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!