V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
9xrtp7r1
V2EX  ›  问与答

请问 celery 不符合要求就丢弃 不加入队列,如何做呢

  •  
  •   9xrtp7r1 · 2015-03-17 18:15:37 +08:00 · 2453 次点击
    这是一个创建于 3574 天前的主题,其中的信息可能已经有所发展或是发生改变。

    celery 每10秒某个任务, 这个任务里有个判断,如果符合要求 就执行,否则就丢弃 有什么思路吗,我测试, 不符合 直接return 0 他还是会把这个任务加入队列里面执行 有没有办法让他不符合的情况下 直接丢弃 不加入执行队列呀

    from datetime import timedelta

    CELERYBEAT_SCHEDULE = {
    'add-every-10-seconds': {
    'task': 'celery01.tasks.SingleTask',
    'schedule': timedelta(seconds=10)

    },
    

    }


    def SingleTask(name):
    if name=="go":
    print("run")
    else:
    return 0 #不符合条件,不做任何执行

    3 条回复    2015-03-18 11:42:35 +08:00
    kslr
        1
    kslr  
       2015-03-17 19:41:03 +08:00
    不符合就不执行函数呗
    20150517
        2
    20150517  
       2015-03-17 20:23:16 +08:00
    raise RuntimeException("")
    就跳过了
    9xrtp7r1
        3
    9xrtp7r1  
    OP
       2015-03-18 11:42:35 +08:00
    @kslr
    @20150517

    谢谢,我今天重新运行 发现 好像他不会积压任务了, 也就是 重复提交 不会加入队列了,那暂时就这样,能运行就好 多谢了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1033 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:37 · PVG 07:37 · LAX 15:37 · JFK 18:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.