celery 4.2

-Ofair现在是默认的调度策略

关于-Ofair命令行选项的作用存在很多混淆,并且在解释中使用术语“预取”可能没有帮助,因为这个术语在AMQP中有多么混乱。

当使用prefork池的Celery worker接收任务时,它需要将该任务委托给子进程执行。

prefork池具有可配置数量的子进程(--concurrency),可用于执行任务,

每个子进程使用管道/套接字与父进程通信:inqueue(管道/套接字):父发送任务到子进程outqueue(管道/套接字):child将结果/返回值发送给父级。

在Celery 3.1中,默认的调度机制只是将任务发送到可写的第一个队列,并使用一些启发式方法确保我们在它们之间进行循环,以确保每个子进程都能接收相同数量的任务。这意味着在默认调度策略中,工作人员可以将任务发送到已经执行任务的同一子进程。如果该任务长时间运行,则可能会长时间阻止等待任务。更糟糕的是,即使有子进程可以自由地工作,数百个短期运行的任务也可能被困在长期运行的任务之后。添加了-Ofair调度策略以避免这种情况,并且在启用时添加了规则,即不应将任务发送到已执行任务的子进程。如果您只有短期运行任务,那么公平调度策略可能会稍微差一些。

celery -A tasks worker -l info -P eventlet

这个命令是开启了一个worker,但是它可以同时执行四个任务,这是因为它的子进程,prefork(这个是会根据你的电脑自动设置),我们自己也可以自定义

另外他虽然执行四个,另外每一个worker还会预存一个,也就是说他会同时recevie5个,但是有一个不执行

Django--队列2的更多相关文章

  1. Django项目--web聊天室

    需求 做一个web聊天室,主要练习前端ajax与后台的交互: 一对一聊天和群组聊天 添加用户为好友 搜索并添加群组 管理员可以审批用户加群请求,群管理员可以有多个,群管理员可以删除,添加禁言群友 与聊 ...

  2. Django自定义指令+mq消息队列的使用

    import pika import json import logging import base64 from rest_framework.exceptions import ParseErro ...

  3. 分布式队列celery 异步----Django框架中的使用

    仅仅是个人学习的过程,发现有问题欢迎留言 一.celery 介绍 celery是一种功能完备的即插即用的任务对列 celery适用异步处理问题,比如上传邮件.上传文件.图像处理等比较耗时的事情 异步执 ...

  4. django + celery的队列,路由与弹性

    #celery_app.py #!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import absolute_import ...

  5. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  6. Python之路【第十八篇】Django小项目webQQ实现

    WEBQQ的实现的几种方式 1.HTTP协议特点 首先这里要知道HTTP协议的特点:短链接.无状态! 在不考虑本地缓存的情况举例来说:咱们在连接博客园的时候,当tcp连接后,我会把我自己的http头发 ...

  7. Django中Celery的实现介绍(一)

    Django中Celery的实现 Celery官网http://www.celeryproject.org/ 学习资料:http://docs.jinkan.org/docs/celery/ Cele ...

  8. Django 中的用户认证

    Django 自带一个用户认证系统,这个系统处理用户帐户.组.权限和基于 cookie 的 会话.本文说明这个系统是如何工作的. 概览 认证系统由以下部分组成: 用户 权限:控制用户进否可以执行某项任 ...

  9. Django缓存优化之redis

    Redis 概述 Redis 是一个开源的Inmemory key-value 存储系统,性能高,很大程度上补偿了 memcached 的不足.支持多种存储类型,包括 string, list, se ...

  10. High Performance Django

    构建高性能Django站点   性能 可用 伸缩 扩展 安全 build 1.审慎引入第三方库(是否活跃.是否带入query.是否容易缓存) 2.db:减少query次数 减少耗时query 减小返回 ...

随机推荐

  1. BootstrapValidator:表单验证神器

    前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...

  2. 在Build Path中包含其他工程

    ------------siwuxie095                                 在 TestBuildPath 的 Build Path 中包含 SupportProje ...

  3. c语言实践 用1角 2角 5角 凑成10元钱的方法

    /* 用1角,2角,5角凑出10元钱,有几种办法. 也就是0.1a+0.2b+0.3c=10,化简一下就是 a=100-2b-3c 因为a的范围是0到100,所以弄一个循环 把a的值从0尝试到100, ...

  4. c# 导入c++ dll

    1.类的函数的内联实现 #include "stdafx.h" #include "testdll.h" #include <iostream> # ...

  5. 简单的Cookie记录浏览记录案例

    books.jsp 界面 代码 <%@ page contentType="text/html;charset=UTF-8" language="java" ...

  6. Recurrent Neural Network(递归神经网络)

    递归神经网络(RNN),是两种人工神经网络的总称,一种是时间递归神经网络(recurrent neural network),另一种是结构递归神经网络(recursive neural network ...

  7. [转]不完美解决V社游戏的中文支持问题

    先安装安装文泉驿正黑:sudo apt-get install fonts-wqy-zenhei 然后sudo gedit /etc/fonts/conf.avail/25-wqy-zenhei.co ...

  8. js $.inArray

    var arr = [ "xml", "html", "css", "js" ];   $.inArray(" ...

  9. JS和JQuery的比较

    一. Jquery它是javascript的一个轻量级框架,是对javascript进行封装. 二.JQuery和JS都有加载函数,但表达方式不同. 1.JS中的加载函数: //整个文档加载完毕后执行 ...

  10. 温故而知新:什么是wcf

    1.什么是WCF.WCF是Windows Communication Fundation的缩写,是微软在.net 3.0 的时候引进的,用于开发可交互的分布式应用程序,是由微软发展的一组数据通信的应用 ...