接受消息
import time
import pika
hostname = "localhost"
parameters = pika.ConnectionParameters(hostname)
connection = pika.BlockingConnection(parameters)
# 创建通道
channel = connection.channel()
# channel.queue_declare(queue="hello-1")
channel.exchange_declare(exchange="direct1-logs",
exchange_type="direct")
result = channel.queue_declare(exclusive=True, queue="")
queue_name = result.method.queue
print(queue_name)
channel.queue_bind(exchange="direct-logs",
queue=queue_name,
routing_key="hello-1")
def callback(ch, method, properties, body):
print(" [x] Received %r" % (body,))
print(" [x] %r:%r" % (method.routing_key, body))
print(" [x] Done")
ch.basic_ack(delivery_tag=method.delivery_tag)
# 告诉rabbitmq使用callback来接收信息
channel.basic_consume(queue_name, callback, consumer_tag="hello-consumer")
# 开始接收信息,并进入阻塞状态,队列里有信息才会调用callback进行处理,按ctrl+c退出
print(" [*] Waiting for messages. To exit press CTRL+C")
channel.start_consuming()
Python测试代码
程序化交易接口代码,redis
发送消息
import 程序化交易接口代码,redis # 导入redis 模块
r = redis.Redis(host="localhost", port=6378, db=2,decode_responses=True)
r.set("name1:jghj", "runoob1asd") # 设置 name 对应的值
print(r["name1:jghj"])
print(r.get("name1:jghj")) # 取出键 name 对应的值
print(type(r.get("name"))) # 查看类型
02
rabbitmq
1.安装
官网下载并安装Eralng和rabbitmq,注意版本一致。
2.常用命令
#管理命令
#注意命令前面需要加一个rabbitmqctl 空格
#添加用户:
rabbitmqctl.bat add_user <username> <password>
#用户授权
rabbitmqctl.bat set_user_tags <username> administrator
# 删除一个用户
rabbitmqctl.bat delete_user <username>
# 改变用户密码 (也是改变web管理登陆密码)
rabbitmqctl.bat change_password <username> <newpassword>
#服务启动与停止
#安装,启动,停止
rabbitmg-service.bat install 或 rabbitmg-service instal
rabbitmg-service.bat stop 或rabbitmg-service stoprabbitmg-service.bat start 或 rabbitmg-server start
#启用
rabbitmg-server enable
#禁用
rabbitmg-server disable
常用命令
#管理命令
#注意命令前面需要加一个rabbitmqctl 空格
#添加用户:
rabbitmqctl.bat add_user <username> <password>
#用户授权
rabbitmqctl.bat set_user_tags <username> administrator
# 删除一个用户
rabbitmqctl.bat delete_user <username>
# 改变用户密码 (也是改变web管理登陆密码)
rabbitmqctl.bat change_password <username> <newpassword>
#服务启动与停止
#安装,启动,停止
rabbitmg-service.bat install 或 rabbitmg-service instal
rabbitmg-service.bat stop 或rabbitmg-service stoprabbitmg-service.bat start 或 rabbitmg-server start
#启用
rabbitmg-server enable
#禁用
rabbitmg-server disable
这里为了简单上手,单节点即可,实际生产可用集群哨兵模式
配置文件
cp /etc/redis/redis.conf /home/zhanggao/redis/redis.conf
修改配置文件
日志路径
logfile "/home/zhanggao/redis/redis-serve.log"
data路径
dir /home/zhanggao/redis
启动服务
redis-server /home/zhanggao/redis/redis.conf
启动客户端
redis-cli -h 127.0.0.1 -p 6378
关闭
redis-cli -p 6378 shutdown
安装
Python测试代码
import redis # 导入redis 模块
r = redis.Redis(host="localhost", port=6378, db=2,decode_responses=True)
r.set("name1:jghj", "runoob1asd") # 设置 name 对应的值
print(r["name1:jghj"])
print(r.get("name1:jghj")) # 取出键 name 对应的值
print(type(r.get("name"))) # 查看类型
rabbitmq主要是为了作为celery的消息中间件使用;
按照官网说明即可
安装
管理界面
init文件
from celery import Celery
app = Celery("celery_test", include=["celery_test.celery_app_task"])
app.config_from_object("celery_test.celeryconfig")
# celery worker -A celery_test -l info -n 1 -P eventlet
# celeryconfig 单节点redis
# celery flower --broker=redis://10.237.102.212:6379/13
# celeryconfig redis 集群
# celery flower -A celery_test -port=5555
redis
官网下载并安装Eralng和rabbitmq,注意版本一致。
环境配置
文章为作者独立观点,不代表股票交易接口观点