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 消息队列相关推荐

  1. python redis 消息队列_Python的Flask框架应用调用Redis队列数据的方法

    任务异步化打开浏览器,输入地址,按下回车,打开了页面.于是一个HTTP请求(request)就由客户端发送到服务器,服务器处理请求,返回响应(response)内容. 我们每天都在浏览网页,发送大大小 ...

  2. python redis 消息队列_python中利用redis构建任务队列(queue)

    Python中的使用标准queue模块就可以建立多进程使用的队列,但是使用redis和redis-queue(rq)模块使这一操作更加简单. Part 1. 比如首先我们使用队列来简单的储存数据:我们 ...

  3. Python 全栈系列122 redis消息队列搭建

    说明 不太喜欢rabbitmq之类的消息中间件,出问题不太好调试.打算使用redis替代. 内容 1 安装 1.1 版本 以docker方式安装,可以作为每台主机的一个标配.(其他的标配数据库还有mo ...

  4. PHP借用Redis消息队列实现高并发下发送邮件功能

    参考: 我目前的做法是,借用redis的队列,把要发送的消息,全部放到里面,然后就不管了 有一个后台发送进程,来处理队列里面的数据 1.如果需要重发,则把发送失败的消息放到一个备份的队列里,每次循环开 ...

  5. Redis消息队列发展历程

    简介:Redis是目前最受欢迎的kv类数据库,当然它的功能越来越多,早已不限定在kv场景,消息队列就是Redis中一个重要的功能.Redis从2010年发布1.0版本就具备一个消息队列的雏形,随着10 ...

  6. Redis 消息队列的三种方案(List、Streams、Pub/Sub)

    现如今的互联网应用大都是采用 分布式系统架构 设计的,所以 消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段,它具有 低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 当前使用较多 ...

  7. 如何保证 Redis 消息队列中的数据不丢失?

    Redis 最常见的业务场景就是缓存读取与存储,而随着时间的推移,有人开始将它作为消息队列来使用了,并且随着 Redis 版本的发展,在 Redis.2.0.0 中新增了发布订阅模式(Pub/Sub) ...

  8. 【Redis消息队列实现异步秒杀】--Redis学习笔记08

    前言 秒杀业务的优化思路: 先利用Redis完成库存余量.一人一单判断,完成抢单业务 再将下单业务放入队列中(阻塞队列,消息队列),利用独立线程异步下单 基于阻塞队列的异步秒杀存在哪些问题? 内存限制 ...

  9. springboot:整合redis消息队列

    整合redis消息队列 项目依赖 <!-- RedisTemplate --><dependency><groupId>org.springframework.bo ...

最新文章

  1. 系统试图将驱动器合并到合并驱动器上的目录_系统小技巧:“徒手”创建可启动的VHD系统...
  2. 服务交付审查:缺失的DevOps反馈环
  3. Spring加载resource时classpath*:与classpath:的区别(转)
  4. 【转】c#数字图像处理(一)Bitmap类、 Bitmapdata类和 Graphics类
  5. python的计算_基于python实现的计算器
  6. 概率论-数理统计部分思维导图
  7. DOSBox 的安装及使用 详细教程
  8. 键盘按键损坏 注册表更改_如何彻底清洁键盘(不损坏任何东西)
  9. ubuntu电源管理
  10. 关于 Photoshop 图层
  11. UI设计初学者应该如何入门?
  12. 计算机专业创新点子借鉴,[在计算机教学中应如何开展创新教育]大学生创新创业点子300...
  13. Mac安装软件时提示“文件已损坏,您应该将它移到废纸篓”解决办法(亲测有效)
  14. java后端系统学习总结 03_java Web基础学习
  15. Roon 1.8(806) for Windows
  16. css display:grid布局
  17. 炫龙 shinelon笔记本电脑-毁灭者DD2如何U盘启动?
  18. Python学习(十一)Python标识符命名规范
  19. 一个按键精灵后台发送消息的脚本
  20. NKOI 1937 太空飞行计划

热门文章

  1. 什么是OOP(面向对象编程)?
  2. 教你用JS手写简单的秒表(精确到10ms,没有延迟)
  3. Python中DataFrame关联
  4. Word2vec 讨论
  5. 在大数据圈你不知道的15个新技术
  6. 探寻教育信息化着力点,创新四川省教育厅IT管理
  7. NHibernate概括
  8. Http压测工具wrk使用指南
  9. 七牛云音视频新功能:音频支持AAC_HE
  10. 手机APP测试几个要点