python
文章平均质量分 55
SanfordLuo
哈哈哈哈哈哈
展开
-
WSL2 环境 python 项目管理:docker、supervisor、nginx、uwsgi(part.0)
项目管理相关,part.1部分,主要涉及的是环境部分。 开发语言:python 开发环境:WSL2 相关涉及:docker、supervisor、nginx、uwsgi原创 2022-05-09 10:34:58 · 920 阅读 · 0 评论 -
celery实现异步任务与定时任务
1. 概览 消息队列与任务队列:是一种能实现生产者到消费者通信的通信模型, 用于传递消息的, 如Kafka, RabbitMq. 任务队列在消息队列之上实现各种任务, 比如发邮件. Celery: 消息中间件(Broker), 任务执行单元(Worker), 结果存储(Backend) 工作流程: Task client 提交任务到 Broker, Worker 监控 Broker 取出里面的任务并执行, 执行结果保存在Backend中. ...原创 2022-01-27 11:22:14 · 2973 阅读 · 1 评论 -
rabbitmq之rpc工作模式
1. 概括 rpc工作模式: 通过消息队列实现rpc功能, 客户端发送消息到消费队列, 服务端进行消费消息执行程序将结果再发送到回调队列, 供客户端使用. 是一种双向生产消费模式. 既是生产者又是消费者, 如果只有一个queue 则会出现死循环, 此时需要有一个回调队列. 客户端发消息时, 消息属性要设置上reply_to的回调队列, 把消息发送到指定的rpc队列, 通过process_data_events来保持连接并且检查是否有回调, 服务端从rpc队列里来确认客户端是否有发消息, 如果有则进.原创 2022-01-21 16:25:35 · 5019 阅读 · 0 评论 -
rabbitmq工作模式以及python版demo
1. 基本概念 AMQP协议: 高级消息队列协议, 进程间传递异步消息的一个网络协议, rabbitmq是基于AMQP协议开发的. 大致工作流程: 生产者(Publisher) ---> 交换机(Exchange) ---> 队列(Queue) ---> 消费者(Consumer) Broker: 代理, 由Exchange和Queue组成. 连接生产者消费者, 实现AMPQ协议中消息队列和路由功能的进程. Virtual Host: 虚拟主机, 一个虚拟主机里可以有多个Exch.原创 2022-01-20 17:28:22 · 2170 阅读 · 0 评论 -
多线程接口压力测试python版demo
之前在做项目时有遇到需要自测一下接口的, 整理个小demo, 用于接口的压力测试 tokens放用户对应的token值, url随便拿的csdn的一个url. """ 接口的压力测试demo """ import requests import json import threading from script import log_handler logger = log_handler.Logger('pressure_by_threading.log') # 用户token字典 toke原创 2021-12-10 20:10:17 · 1011 阅读 · 0 评论 -
kafka生产者消费者python版demo
1. 版本 Python 3.8.2 kafka-python 2.0.2 2. 生产者 import time import json from kafka import KafkaProducer topic = 'sanford' bootstrap_servers = 'localhost:9092' def test_producer(): producer = KafkaProducer(bootstrap_servers=bootstrap_servers,原创 2021-12-10 19:12:52 · 1436 阅读 · 0 评论 -
HSV实现图片颜色的分类
import cv2 import numpy as np def Distinguish_Colour(): """ :param nnn: :return: 返回最大的下标索引,和列表,例如:0, [89, 17, 0] """ read_path = r"D:\lwx596588\V2.3\CUT_V\715.jpg" img = cv...原创 2019-06-03 19:31:28 · 2094 阅读 · 0 评论 -
Python递归实现二分法查找
def searchNum(ls, num, lower=0, upper=None): if upper is None: upper = len(ls)-1 mid = (lower + upper) // 2 if mid == 0 and num != ls[0]: return "不存在" if mid == len(ls...原创 2019-06-05 23:24:23 · 1295 阅读 · 0 评论