作者文章归档:xiaxichensblog

最近新开了个大坑


鸽了好久的python进阶系列终于要开始啦 主要是讲一些python 中的函数,类,魔法方法,异步io,多线程,多进程等是学习python中不可缺少的部分。我将对Python这些概念做一些我自己的理解,并带大家深入理解这些概念和一些技巧。 喜欢的小伙伴可以扫下面的图片的二维码。(钉钉) sina

Read more

分布式调度系统


distributedSchedulingTaskSystem

分布式调度系统

架构图

架构.png

主集群功能

任务管理HTTP接口:增删改查
任务日志HTTP接口:查看任务执行历史
任务控制HTTP接口:提供强制结束任务的接口

woker集群功能

任务同步:监听etcd中/cron/jobs/目录变化
任务调度:基于cron表达式计算,触发过期任务
任务执行:协程池并发执行多任务,基于etcdf分布式锁抢占
日志保存:捕获任务执行输出,保存到MongoDB

web页面

masterWeb.png

master实现

masterWeb.png

worker实现

masterWeb.png

启动

首先启动etcd集群(单机也可)和mongo;
其次配置master/main下的配置

Read more

jinjia 基础语法


for in

{% for i in list %}
{% endfor %}
{% for k,v in dict.items() %}
{% endfor %}

if else

{% if i=1 %}
    {{ i }}
{% elif i!=1 %}
    {{ i }}
{% else %}
    {{ i }}
{% endif %}

with

{% with data %} 
{% endwith %}

url_for

<form class="form-inline" action="{{ url_for('web.search') }}" method="get

Read more

jinjia 模板继承


block base模板

{% block title %}
    <title>鱼书</title>
{% endblock %}

extends 加载 base模板

{% extends "base.html" %}
{% block title %}
    <link rel="stylesheet" href="{{ url_for('static', filename='3rd/ui/remodal.css')}}">
    <link rel="stylesheet" href="{{ url_for('static', filena

Read more

新开发的斗鱼弹幕抓取搜索


架构.png 具体思路 根据斗鱼开发文档 https://open.douyu.com/source/api/63 进行websocket端抓取 协议.png
消息长度:4 字节小端整数,表示整条消息(包括自身)长度(字节数)。 消息长度出现两遍,二者相同。 消息类型:2 字节小端整数,表示消息类型。取值如下: 689 客户端发送给弹幕服务器的文本格式数据。 690 弹幕服务器发送给客户端的文本格式数据。 加密字段:暂时未用,默认为 0。保留字段:暂时未用,默认为 0。 websocket标准请查询 https://datatracker.ietf.org/doc/rfc6455/ 中文版讲解 https://seg

Read more

超大xml解析


from xml import sax

class MovieHandler(sax.ContentHandler):
    def __init__(self):
        # 初始化数据,并增加一个当前数据
        self.CurrentData = ""
        self.type = ""
        self.format = ""
        self.year = ""
        self.rating = ""
        self.stars = ""
        self.description = ""

    # 文档启

Read more

tmux


tmux new -s [name] #新建会话并命名
tmux detach # 断开当前会话,会话在后台运行
tmux a # 默认进入第一个会话
tmux a -t demo # 进入到名称为demo的会话
tmux kill-session -t demo # 关闭demo会话
tmux kill-server # 关闭服务器,所有的会话都将关闭

Read more