Python分布式系统Celery,根据CPU核数探讨最优worker数 《案例:jieba分词玩家热点追踪》

您所在的位置:网站首页 celery一次处理任务数 Python分布式系统Celery,根据CPU核数探讨最优worker数 《案例:jieba分词玩家热点追踪》

Python分布式系统Celery,根据CPU核数探讨最优worker数 《案例:jieba分词玩家热点追踪》

2024-07-15 11:02| 来源: 网络整理| 查看: 265

一、服务器背景

1台4核服务器

二、jieba分词问题探究 在本例中,主要针对的是对玩家每天的聊天记录进行一个热点追踪,技术层面不难,无非就是对玩家的语句进行清洗,分词,然后做主题提取等一些常规的流程。但是难点在保证查询效率的同时,怎么把庞大的玩家聊天记录数据存储下来以及进行条件式筛选。 三、Celery异步任务

1、什么是Celery Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列, 同时也支持任务调度,Celery一个worker就是一个守护进程。 2、Celery由什么组成 Celery的架构由三部分组成,消息中间件,任务执行单元和任务执行结果存储组成。 本人使用的架构是 Celery+Redis。 Celery使用到了工作流模式(group+chord) Redis用来存储消息任务参数以及工作流的数据存储。

四、Celery任务构建 1、由于聊天记录比较大,在单个进程任务中jieba.lcut耗时较长,因此考虑对任务进行分割。分割的方式有多种,在这里仅介绍案例中使用的,首先是以天为分割点,然后再以玩家的等级进行二次分割。

例如:总任务是查 玩家在20200406跟20200407这两天的玩家聊天记录的热点排名,在本次切割下会将天数跟玩家等级进行切割,分割成4个worker, worker_1 : 2



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3