• python实现定时任务-目的解决自动化造数据


    问题,自动化加号造数据,取消时需要先有完成的订单,但是每个订单被审核需要1分钟才行,先创建订单再去用,不能及时

     还有一个方法,是用Django的框架去实现

    https://www.cnblogs.com/ivy-blogs/p/11695551.html

    注意,写完,要运行命令才能添加上,就是链接后面的

    • 添加任务python manage.py crontab add    添加一个
    • 查看任务python manage.py crontab show
    • 删除任务python manage.py crontab remove

    方法里面写了循环,因为需要3到4单


    def UI_create_order():
    time1 = datetime.datetime.now() + datetime.timedelta(days=4)
    time2 = time1.strftime("%Y-%m-%d")
    jiahao_time = time2 + ',' + '上午'
    for i in range(0,3):
    print(i)
    respone=commit_jaho(username="hdfcy5uaxbw",docusername="zhenglaidoctor",schedule=jiahao_time)
    print(respone)

    解决:

    写个定时任务,在小牛上,因为小牛是服务,随时能执行,而自动化平台只是代码,执行时才会运行。

    python  存在4种实现,定时的方法。

    https://blog.csdn.net/chen801090/article/details/93335733

    其余高级的用法,看这里

    https://blog.csdn.net/somezz/article/details/83104368

    自己写的截图;

     APScheduler是Python的一个定时任务框架,用于执行周期或者定时任务,

    可以基于日期、时间间隔,及类似于Linux上的定时任务crontab类型的定时任务;

    该该框架不仅可以添加、删除定时任务,还可以将任务存储到数据库中,实现任务的持久化,使用起来非常方便。

    安装方式:pip install apscheduler

    apscheduler组件及简单说明:

    1>triggers(触发器):触发器包含调度逻辑,每一个作业有它自己的触发器
    2>job stores(作业存储):用来存储被调度的作业,默认的作业存储器是简单地把作业任务保存在内存中,支持存储到MongoDB,Redis数据库中
    3> executors(执行器):执行器用来执行定时任务,只是将需要执行的任务放在新的线程或者线程池中运行
    4>schedulers(调度器):调度器是将其它部分联系在一起,对使用者提供接口,进行任务添加,设置,删除。我们的Python学习扣qun:784,758,214,看看前辈们是如何学习的!交流经验!
    来看一个简单例子:

    import time
    from apscheduler.schedulers.blocking import BlockingScheduler
    def func():
     now = datetime.datetime.now()
     ts = now.strftime('%Y-%m-%d %H:%M:%S')
     print('do func time :',ts)
    def func2():
     #耗时2S
     now = datetime.datetime.now()
     ts = now.strftime('%Y-%m-%d %H:%M:%S')
     print('do func2 time:',ts)
     time.sleep(2)
    def dojob():
     #创建调度器:BlockingScheduler
     scheduler = BlockingScheduler()
     #添加任务,时间间隔2S
     scheduler.add_job(func, 'interval', seconds=2, id='test_job1')
     #添加任务,时间间隔5S
     scheduler.add_job(func2, 'interval', seconds=3, id='test_job2')
     scheduler.start()
    dojob()


    自己写的代码

    def test():
    print("正来")

    def test_schedule():
    # if __name__ == '__main__':
    # 比较简单的调度器
    scheduler = BlockingScheduler()
    # 定时类型有四种`date``, ``interval`` or ``cron`` 下面是秒的,
    # scheduler.add_job(test,'interval',seconds=1)
    # 每天的16点 56分执行
    # 2个定时任务,执行了,2边
    scheduler.add_job(test, "cron", hour=17, minute=1)
    scheduler.add_job(test, "cron", hour=17, minute=2)
    scheduler.start()
  • 相关阅读:
    1254:走出迷宫
    1332:【例2-1】周末舞会
    P1744 采购特价商品 题解(讲解图论)
    p1305 新二叉树
    P1069 细胞分裂
    LOJ #124. 除数函数求和 1
    P4438 [HNOI/AHOI2018]道路
    P4318 完全平方数
    P1447 [NOI2010]能量采集
    P3200 [HNOI2009]有趣的数列
  • 原文地址:https://www.cnblogs.com/zhenglai/p/13203965.html
Copyright © 2020-2023  润新知