心 空

  • Tools
python
Python

Celery:Prefetch与Acknowledged相关配置

概述 首先,我们要了解什么是Celery的Prefetch和Acknowledged。 顾名思义,Prefetch指的是一个Celery Worker节点,能够提前获取一些还还未被其他节点执行的任务,这样可以提高Worker节点的运行效率。 而Acknowledged则是一个任务执行完后,只有确认返回发送了Acknowledged确认信息后,该任务才算完成。 Prefetch Limit 在这里,Celery给我们提供了一个节点级别的变量,worker_prefetch_multiplier,用以控制一个工作节点所…

31 12 月, 2019 1条评论 19481点热度 6人点赞 Ricky 阅读全文
Python

Celery 与 RabbitMQ:关于Exchange和Queue的那些事

RabbitMQ RabbitMQ的消息流主要由两个部分组成:Exchange和Queue。 Exchange Exchange其实可以类比为一个交换机?其根据Exchange的类型和一些规则,来将消息分发到特定的Queue队列中。 RabbitMQ支持以下几种Exchange类型: Direct Exchange 将每个Message(消息)的routing_key与其下的Queue进行匹配,若一致则将Message下发到对应的Queue Default Exchange 由RabbitMQ预定义的一个Excha…

18 12 月, 2019 0条评论 7951点热度 7人点赞 Ricky 阅读全文
杂项

GitHub Action使用杂记

GitHub Action 这是GitHub推出的一个类似Azure Pipeline的工具。GitHub Action 这里记录在初次使用GitHub Action时的一些小技巧。 设置环境变量 目前的GitHub Action的环境变量,若是在stage里进行export等操作,那么该环境变量是不会继承到下一个stage里的。若需要一个全局环境变量,则要按下面的方式进行设置。 设置GOPATH 在官方默认的GO环境中,仅设置了GOROOT环境变量,而我们常用的GOPATH并不存在。针对这个情况,我们可以手动设置…

2 10 月, 2019 1条评论 11524点热度 6人点赞 Ricky 阅读全文
Python

Python 内存分析杂记

Tracemalloc Python 3.4里引入的一个专门用来分析内存状态的模块。tracemalloc 这里我们只需要记住几个命令就行: import tracemalloc tracemalloc.start() # 开始监控内存 snapshot = tracemalloc.take_snapshot() # 记录内存快照 top_stats = snapshot.statistics('lineno') #按lineno分析内存快照状态 for stat in top_stats[:10]: # 打印前1…

29 7 月, 2019 1条评论 7771点热度 0人点赞 Ricky 阅读全文
Python

Celery 任务生产者在大规模生产任务时,存在的内存累积问题

简述 在当前的项目中,由于项目需求,需要实现一个将一个大任务拆分成无数个子任务的功能。 而在这个功能实现的时候,由于拆分的子任务数量太大,导致内存占用一直攀升直至Out of Memory。 为了解决这个问题,我曾经怀疑过由RabbitMQ的HeartBeat带来的内存泄露问题,但是在经过了tracemalloc内存分析之后,发觉这个问题的原因其实是Celery默认开启的一个小功能(坑)。 产生原因 在Celery文档中,有一个参数Task.apply_async.add_to_parent,这个参数的主要作用是:…

29 7 月, 2019 0条评论 3912点热度 0人点赞 Ricky 阅读全文
Linux

uWSGI按时间进行日志分片

0x00 概述 首先,uWSGI没有提供原生的日志分片功能,目前好像只有按大小进行分片的功能log-maxsize。因此我们只能手动来实现按天(或者其他时间段)来进行日志的切割。 0x01 使用工具 logrotate 0x02 uWSGI配置 首先,我们在uwsgi.ini配置文件中,新增关于日志的配置项: logto = /path/for/you/log touch-logreopen = /path/for/you/touch/file 这里的logto很好理解,就是日志存储的位置,而touch-logre…

30 7 月, 2018 0条评论 7972点热度 9人点赞 Ricky 阅读全文
PyQt

PyQt开发(三):Events与Signals

0x00 前述 在写PyQt的时候,会发现由于UI线程是独立的,因此我们不能够在其他逻辑线程中,直接去对UI进行操作。而PyQt给我们提供了一个Signal系统,让我们能够在多线程中,对UI进行安全的交互。 0x01 关于Events 一个GUI程序,大部分是基于事件驱动的。比如一个Button,它会有一个clicked事件在它被点击的时候触发。因此,我们就可以将逻辑处理函数connect到这个事件。 class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): d…

23 4 月, 2018 1条评论 8117点热度 1人点赞 Ricky 阅读全文
PyQt

PyQt开发(二):界面与逻辑分离

0x00 PyQt原生支持界面与逻辑分离,特别是使用QtDesigner设计界面。 0x01 转换UI文件 使用QtDesigner设计并保存界面之后,会产生一个.ui文件,这里我们使用PyUIC去直接将其转换为.py文件。 打开这个.py文件,我们可以看到它是由PyUIC自动生成的,并且声明了不应该改动这个文件的代码,因为每次从.ui文件生成的时候都会将其覆盖。 # -*- coding: utf-8 -*- # Form implementation generated from reading ui file…

9 4 月, 2018 0条评论 6327点热度 1人点赞 Ricky 阅读全文
PyQt

PyQt开发(一):环境配置(PyCharm)

0x00 毕设项目需要用Python实现一个GUI界面,在查询了一番之后我选择了PyQt。 0x01 环境 Python 3.6.1, PyCharm 2018.1 0x02 安装PyQt 在这里,推荐为项目单独创建一个venv,这样就可以在虚拟环境中随便搞了。 首先,安装pyqt5,其次是pyqt5-tools。其中,pyqt5-tools提供了QtDesigner,让我们画界面更为方便。 0x03 配置PyCharm 打开Project,点击File->Settings->Tools->External Too…

9 4 月, 2018 0条评论 4891点热度 0人点赞 Ricky 阅读全文
Python

Python:类内装饰器的使用(pymongo自动重连实现)

0x00 最近要实现一个pymongo库的自动重连功能,但是官方文档只说了: In order to auto-reconnect you must handle this exception, recognizing that the operation which caused it has not necessarily succeeded. Future operations will attempt to open a new connection to the database (and will co…

29 9 月, 2017 0条评论 5989点热度 1人点赞 Ricky 阅读全文
12

Ricky

这个人很懒,什么都没留下

最近评论
rantrism 发布于 3 年前(12月08日) 您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体...
Bahai 发布于 4 年前(09月10日) :smile: 使用。正想破头脑。
零奇 发布于 4 年前(01月23日) 你好,我使用action设定它每隔15分钟执行一次,但是它实际上是隔一个小时左右才执行一次,执行并不...
woodenrobot 发布于 5 年前(01月16日) 你好按照这个设置 celery 4.4 + redis 版本,队列中的任务会被一次性全部拿完,请问可...
Silver 发布于 7 年前(05月01日) 你看,所有GUI的机制终会导向某种Windows的设计思路(逃
最新 热点 随机
最新 热点 随机
如何自建Coder平台,并且添加VSCode Web Docker容器如何通过DHCP,实现自动获取宿主机局域网IP WireGuard的简单使用,以及自动Mesh相关想法 QNAP NAS:安装Emby,使用MPD配合upmpdcli实现本机DLNA播放 Raspberry Pi 4:将树莓派作为网桥使用 Raspberry Pi 4:使用bluez和bluealsa,将树莓派改造为蓝牙音箱
GitHub Action使用杂记 V2Ray手机及PC端的使用方法 WeChall 之 Crappyshare XSS:IE下绕过hidden的input PHP Hash 漏洞之 Magic Hash XSS-Game

COPYRIGHT © 2025 心 空. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang