Python 芹菜批量执行在100个任务成功运行后停止

Python 芹菜批量执行在100个任务成功运行后停止,python,celery,Python,Celery,我要在芹菜中执行以下逻辑: 使用请求从AWS S3下载文件(最大2 MB) 将文件(使用大约100%的CPU)处理为输出文件 将输出文件上载到AWS S3(最小2 MB)(使用boto) 更新与该文件相关的Mongo DB集合(使用pymongo) 现在,这个过程运行良好,任务完成(对于一个任务,大约2秒钟,这对于我来说是可以接受的,考虑到上面第2点提到的处理逻辑) 但是,如果我发送大量要执行的任务(大约5000个),芹菜在完成大约100个任务后会挂起 这意味着我在日志上看不到进一步的输出。没有

我要在芹菜中执行以下逻辑:

  • 使用
    请求从AWS S3下载文件(最大2 MB)
  • 将文件(使用大约100%的CPU)处理为输出文件
  • 将输出文件上载到AWS S3(最小2 MB)(使用
    boto
  • 更新与该文件相关的Mongo DB集合(使用
    pymongo
  • 现在,这个过程运行良好,任务完成(对于一个任务,大约2秒钟,这对于我来说是可以接受的,考虑到上面第2点提到的处理逻辑)

    但是,如果我发送大量要执行的任务(大约5000个),芹菜在完成大约100个任务后会挂起

    这意味着我在日志上看不到进一步的输出。没有错误日志,没有其他类型的日志表明芹菜卡在逻辑中。它根本不接受任何新任务

    另一件需要注意的事情是,我的芹菜任务是从对我的Flask服务器的请求触发的,所以是的,对于5000个芹菜任务,有5000个请求是向我的Flask服务器发出的

    我已经尝试过的

  • 实施批处理
  • 将超时设置为我向AWS S3发出的所有请求
  • 将芹菜并发设置为10
  • 这些解决方案都不起作用

    问题

    如何配置芹菜以成功完成可能达到100万的任务

    其他信息

    芹菜版本:4.0.2

    Python版本:2.7

    服务器:具有8 GB RAM的双核


    MessageBroker:Redis

    你说的“挂起”是什么意思?进程崩溃?提出例外情况?日志里有什么?使用
    -l info
    -l debug
    运行工作程序并查找错误。我有一个芹菜集群,每天运行数百万个任务,其中成千上万个任务处理AWSS3。我们遇到的唯一问题是S3速率限制达到了——这是你最终必须解决的问题,但这应该在日志中!因此,让我们首先检查日志…很抱歉,问题已更新。您的并发类型是什么?我只是使用
    --concurrency
    标志设置了并发。不确定typeOK,那么它可能是默认值-预工作。