python redis 消息队列
redis 安装完成后,以下代码可以直接运行
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 5 16:08:51 2018@author: luogan
"""import json
import redisimport datetime
import sys
import json
import multiprocessing
import time
import redis
###
from datetime import date#以下代码是向redis 发命令
QUEUE = "code"
#redisPool = redis.ConnectionPool(host=config.get_redis_host(), port=6379, db=config.get_redis_db())
redisPool = redis.ConnectionPool(host='localhost', port=6379, db=8)
client = redis.Redis(connection_pool=redisPool)def send_cmd(seaweed):json_cmd = json.dumps(seaweed, ensure_ascii=False)client.rpush(QUEUE, json_cmd)ll=list(range(100))
get_weekend('20180325')})
if __name__ == "__main__":for k in ll:send_cmd({"label":k,'timd':20160503,'timm':20170430})#以下代码是向redis 取命令,并且采用多进程来实现计算
def func(a,b,c):print(a,b)def worker(pname):client = redis.Redis(connection_pool=redisPool)while True:try:cmd = client.lpop(QUEUE)except:cmd = Noneif cmd is None:returnelse:cmd = format_cmd(cmd)try:func( cmd["label"],cmd['timd'],cmd['timm'])#price_fix.update(cmd["city"], cmd["region"], cmd["name"])print(pname + ":", cmd, "计算成功")except Exception as ex:print(ex)print(pname + ":", cmd, "计算失败")def format_cmd(cmd):return json.loads(cmd)if __name__ == "__main__":pro_num = 20pool = multiprocessing.Pool(processes=pro_num)for pid in range(1, pro_num):pid = "PROC" + str(pid).zfill(3)pool.apply_async(worker, (pid,))pool.close()pool.join()
python redis 消息队列相关推荐
- python redis 消息队列_Python的Flask框架应用调用Redis队列数据的方法
任务异步化打开浏览器,输入地址,按下回车,打开了页面.于是一个HTTP请求(request)就由客户端发送到服务器,服务器处理请求,返回响应(response)内容. 我们每天都在浏览网页,发送大大小 ...
- python redis 消息队列_python中利用redis构建任务队列(queue)
Python中的使用标准queue模块就可以建立多进程使用的队列,但是使用redis和redis-queue(rq)模块使这一操作更加简单. Part 1. 比如首先我们使用队列来简单的储存数据:我们 ...
- Python 全栈系列122 redis消息队列搭建
说明 不太喜欢rabbitmq之类的消息中间件,出问题不太好调试.打算使用redis替代. 内容 1 安装 1.1 版本 以docker方式安装,可以作为每台主机的一个标配.(其他的标配数据库还有mo ...
- PHP借用Redis消息队列实现高并发下发送邮件功能
参考: 我目前的做法是,借用redis的队列,把要发送的消息,全部放到里面,然后就不管了 有一个后台发送进程,来处理队列里面的数据 1.如果需要重发,则把发送失败的消息放到一个备份的队列里,每次循环开 ...
- Redis消息队列发展历程
简介:Redis是目前最受欢迎的kv类数据库,当然它的功能越来越多,早已不限定在kv场景,消息队列就是Redis中一个重要的功能.Redis从2010年发布1.0版本就具备一个消息队列的雏形,随着10 ...
- Redis 消息队列的三种方案(List、Streams、Pub/Sub)
现如今的互联网应用大都是采用 分布式系统架构 设计的,所以 消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段,它具有 低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 当前使用较多 ...
- 如何保证 Redis 消息队列中的数据不丢失?
Redis 最常见的业务场景就是缓存读取与存储,而随着时间的推移,有人开始将它作为消息队列来使用了,并且随着 Redis 版本的发展,在 Redis.2.0.0 中新增了发布订阅模式(Pub/Sub) ...
- 【Redis消息队列实现异步秒杀】--Redis学习笔记08
前言 秒杀业务的优化思路: 先利用Redis完成库存余量.一人一单判断,完成抢单业务 再将下单业务放入队列中(阻塞队列,消息队列),利用独立线程异步下单 基于阻塞队列的异步秒杀存在哪些问题? 内存限制 ...
- springboot:整合redis消息队列
整合redis消息队列 项目依赖 <!-- RedisTemplate --><dependency><groupId>org.springframework.bo ...
最新文章
- 系统试图将驱动器合并到合并驱动器上的目录_系统小技巧:“徒手”创建可启动的VHD系统...
- 服务交付审查:缺失的DevOps反馈环
- Spring加载resource时classpath*:与classpath:的区别(转)
- 【转】c#数字图像处理(一)Bitmap类、 Bitmapdata类和 Graphics类
- python的计算_基于python实现的计算器
- 概率论-数理统计部分思维导图
- DOSBox 的安装及使用 详细教程
- 键盘按键损坏 注册表更改_如何彻底清洁键盘(不损坏任何东西)
- ubuntu电源管理
- 关于 Photoshop 图层
- UI设计初学者应该如何入门?
- 计算机专业创新点子借鉴,[在计算机教学中应如何开展创新教育]大学生创新创业点子300...
- Mac安装软件时提示“文件已损坏,您应该将它移到废纸篓”解决办法(亲测有效)
- java后端系统学习总结 03_java Web基础学习
- Roon 1.8(806) for Windows
- css display:grid布局
- 炫龙 shinelon笔记本电脑-毁灭者DD2如何U盘启动?
- Python学习(十一)Python标识符命名规范
- 一个按键精灵后台发送消息的脚本
- NKOI 1937 太空飞行计划