
python
鱼雁秋
一人、一舟,那般便是一秋
展开
-
discord Bot 实现机器人发送私信验证码
discord Bot 实现机器人发送私信验证码通过discord的用户id创建机器人与用户的私信通道,机器人会将缓存中的验证码取出发送给用户#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/8/2 17:06# @Author : airwen# @Email : # @File : bot_app.pyimport discordfrom discord.ext import commandsfro原创 2021-08-05 14:55:01 · 2720 阅读 · 2 评论 -
discord bot 发送私信实现消息提醒
discord bot 发送私信实现消息提醒通过用户的discord创建用户的私信通道,bot机器人向用户的discord发过期提醒在这里插入代import discordfrom discord.ext import commands# import yamlimport randomfrom datetime import datetime as dtfrom discord.ext import tasks as discordTasksfrom redis_util import R原创 2021-08-05 14:39:06 · 3591 阅读 · 1 评论 -
python 中的多线程之GIL
python 之GIL下多线程、多进程一、了解认识GIL:Python 中的多线程,一个绕不过去的话题就是全局锁 GIL(Global interpreter lock)。GIL 限制了同一时刻只能有一个线程运行,无法发挥多核 CPU 的优势 。GIL本质就是一把互斥锁,既然是互斥锁,所有的锁的本质都一样,将并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务修改,进而保证数据安全。在一个python的进程内,不仅有主线程或者由该主线程开启其他线程,还有解释器开启的垃圾回收等解释器级别的线程。首原创 2020-12-30 19:28:21 · 1285 阅读 · 1 评论 -
python 多进程 multiprocessing.Process 的 join 和 start 方法
python 多进程 multiprocessing.Process 的 join 和 start 方法multiprocessing模块就是跨平台版本的多进程模块。multiprocessing模块提供了一个Process类来代表一个进程对象。start() 方法:start方法是进程启动,这样创建的进程比fork还要快from multiprocessing import Processimport timeimport osdef print_value(data):原创 2020-12-29 11:26:34 · 2661 阅读 · 0 评论 -
airflow详细环境搭建
airflowpython安装使用自动化脚本进行安装 Python3.5.4, 若后续更新 Python 版本, 则修改脚本对应代码#! /bin/sh # download PYTHON_DIR="/opt/python" if [ -d "$PYTHON_DIR"];then rm /opt/python -rf fi mkdir /opt/python cd /opt/python wget https://www.python.org/ftp/python原创 2020-12-29 11:23:45 · 736 阅读 · 0 评论 -
IO密集、CPU密集讲解
IO密集、CPU密集讲解IO密集型:IO密集型指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作,大部分的状况是CPU在等I/O (硬盘/内存) 的读/写操作,此时CPU Loading并不高。I/O bound的程序一般在达到性能极限时,CPU占用率仍然较低。这可能是因为任务本身需要大量I/O操作,而pipeline做得不是很好,没有充分利用处理器能力。CPU密集型:CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loadin原创 2020-12-25 14:56:00 · 1035 阅读 · 0 评论 -
uwsgi+flask+apscheduler 定时任务不执行
uwsgi+flask+apscheduler 定时任务不执行在本地项目中使用APScheduler运行定时任务ok,但是在服务器上用uwsgi部署的Django环境下,APScheduler定时任务并不会被启动。原因:uwsgi 默认one thread one processor ,所以在没有请求的时候,导致部分进程被挂起在uwsgi.ini文件中加入enable-threads=truepreload=truelazy-apps=true...原创 2020-12-17 14:51:33 · 1350 阅读 · 0 评论 -
解决多进程下APScheduler重复运行问题
解决多进程下APScheduler重复运行同一个任务被执行多次,暂时猜测原因是通过uwsgi启动flask服务是多进程,每个进程启动了一个定时任务调度器,造成同一个定时任务被多次执行flask项目初始化所调用,首先打开(或创建)一个scheduler.lock文件,并加上非阻塞互斥锁。成功后创建scheduler并启动。如果加文件锁失败,说明scheduler已经创建,就略过创建scheduler的部分。最后注册一个退出事件,如果这个flask项目退出,则解锁并关闭scheduler.lock文件的原创 2020-12-17 14:44:53 · 2434 阅读 · 0 评论 -
flask debug模式logging模块报错
**flask debug模式logging模块报错**Traceback (most recent call last):File “C:\Python27\lib\logging\handlers.py”, line 77, in emitself.doRollover()File “C:\Python27\lib\logging\handlers.py”, line 350, in doRolloveros.rename(self.baseFilename, dfn)WindowsEr原创 2020-10-22 09:52:54 · 654 阅读 · 0 评论 -
python 生成器、迭代器
python 生成器、迭代器yield用法:def foo(): print("starting...") while True: res = yield 4 print("res:",res)g = foo()print(next(g))print("*"*20)print(next(g))我直接解释代码运行顺序,相当于代码单步调试:1.程序开始执行以后,因为foo函数中有yield关键字,所原创 2020-10-22 09:50:26 · 167 阅读 · 0 评论