首页 > 编程语言 >Python消息队列之Huey

Python消息队列之Huey

时间:2023-12-28 09:23:27浏览次数:35  
标签:__ count huey Python redis 队列 task beans Huey

缘起:

之前在Python中使用最多的就是Celery, 同样的在这次项目中使用了Celery+eventlet的方式,但是由于具体执行的逻辑是使用的异步编写的, 当时就出现了一个问题,当使用httpx的AsyncClient发送一个网络请求的时候, 发生了阻塞, 导致整个程序无法完整执行. 于是就找替代方案, 于是这次就尝试使用了huey,最终可以实现, 但是为何Celery中执行会发生阻塞,Google中也有大佬提到了

 

github: https://github.com/coleifer/huey

特点:

- 简单

- 轻量

- 执行多种类型: redis,sqlite,file,memory

 

安装:

pip install huey

 

使用:

task.py

from huey import RedisHuey
from redis import ConnectionPool

redis_pool = ConnectionPool(host='127.0.0.1', port=6379, db=10, password="密码")
huey = RedisHuey('app', connection_pool=redis_pool)


@huey.task()
def count_beans(num):
    for i in range(num):
        print(i)
        time.sleep(3)
    return 'count beans'

启动消费者:

huey_consumer task.huey -k process -w 4

# windows下
huey_consumer.exe task.huey -k process -w 4

# -k: 指定worker类型, thread(默认), greenlet, process(windows下不支持)
# -w: 指定worker的数量, 同时有多少个消费者同时工作

# 还有其他的一些参数, 可以使用--help查看
# -l: 指定日志文件
# -v: 显示日志

 

主业务,将任务投递到队列中main.py

from task import count_beans

if __name__ == '__main__':
    res = count_beans(10)
    print(res)

 

整体使用感受,轻量,快速,清爽,还会有终端的时候,优雅处理方式

 

标签:__,count,huey,Python,redis,队列,task,beans,Huey
From: https://www.cnblogs.com/xingxia/p/python_huey.html

相关文章

  • 【python爬虫课程设计】实习僧——数据分析与可视化
    实习僧数据分析与可视化选题背景随着中国经济的不断发展,实习市场也变得日益重要。学生们在求学期间通过实习获取工作经验,而企业则通过实习生计划发现并培养潜在的人才。实习僧作为一家专注于实习和校园招聘的在线平台,收集了大量的实习相关数据。通过对实习僧的数据进行爬取和......
  • 【Python】键鼠操作、区域截图
    1.跟踪鼠标位置importtime,osimportpyautoguiaspagtry:whileTrue:print("按下Ctrl+C结束程序")x,y=pag.position()posStr="当前鼠标位置:"+str(x).rjust(4)+','+str(y).rjust(4)print(posStr)......
  • Python 虚拟环境工具及使用总结
    ​ 参考文档:Python虚拟环境工具及使用总结1、virtualenvvirtualenv是一个创建隔离的Python环境的工具。它可以创建一个包含指定版本Python解释器的环境,并可以安装独立的库和依赖。Python官方提供的虚拟环境工具。Virtualenv 的原理是基于Python的模块化机制,通过创建一......
  • Python进阶
    Object介绍  Python的Object是一种数据抽象或者数据结构抽象,Object应该同时具备:本征值(Indentity)、型式(Type)、值(Value)三个参数。a=45print(id(a))#表示在python中的唯一内存地址,具备唯一性print(type(a))print(a)/*-----output-------*/2063144480432<class'int'>......
  • 【python爬虫课程设计】拉勾网—数据分析师岗位内容爬取+数据分析可视化
    一、选题背景随着互联网的发展,数据分析岗位在各行各业中的需求越来越大。拉勾网作为国内知名的招聘网站,其上的数据分析岗位信息具有很高的参考价值。通过对拉勾网上的数据分析岗位进行数据分析,可以了解当前数据分析岗位的市场情况,为求职者提供有价值的参考信息,同时也可以为企......
  • 简单的用Python采集下微博评论,制作可视化词云图
    简单的用Python来获取微博评论,制作词云图。首先准备环境模块环境使用Python3.8或以上版本即可Pycharm任意版本模块使用importrequestsimportwordcloudimportjieba 以上三个模块都需要安装,直接pipinstall加上模块名安装即可。爬虫基本流......
  • Python实战:从数据库到Excel的复杂查询结果处理【中】
    一、前言在上篇中,我已经成功从数据库查询到数据,并根据指定条件将数据写入到excel中,但是写入的数据和我们通过数据库连接工具查询到的结果并不一致,接下来我们就来解决:Python从数据库查询的数据保存到excel中后,数据格式异常的问题二、解决步骤分析现象使用Navicat从数据库查询到的数......
  • python 使用 rsa库进行RSA签名和加解密
     python使用rsa库进行RSA签名和加解密 #-*-coding:UTF-8-*-#!/usr/bin/envpythonimportbase64importrsafromrsaimportcommon#使用rsa库进行RSA签名和加解密classRsaUtil(object):PUBLIC_KEY_PATH='/tmp/gbzj/public_key.pem'#公钥P......
  • 【Python数据分析课程设计】大数据分析—利用k-means 聚类分析对客户细分分析
    一、选题的背景在当今社会,大数据已经成为了企业决策的重要依据。通过对客户进行细分分析,企业可以更好地了解客户的需求和行为,从而制定更加精准的营销策略,提高市场竞争力。要达到的数据分析目标是通过对客户数据的分析,找出不同客户群体的特征和需求,为企业提供有针对性的营销......
  • python生成word文档
    python生成word文档,感觉比java生成方便很多下面看看步骤1、环境pipinstallpython-docx2、准备一张需要插入word中的图片monty-truth.png3、一段代码fromdocximportDocumentfromdocx.sharedimportInchesdocument=Document()document.add_heading('Document......