- 博客(19)
- 收藏
- 关注
原创 解决服务器磁盘爆满
1.查看磁盘空间命令: df -h找到磁盘爆满的目录,cd 进入目录查看文件占用情况2.查看文件占磁盘的空间:命令: du -h -x --max-depth=1找到占用磁盘最大的文件3.处理占用磁盘的文件:注意:要甄别文件是否是可删除或替换删除命令: rm -rf xx.log (如果服务在引用文件此操作并不能释放空间 )或: cat /dev/null > xxx.log...
2021-11-24 14:55:02
2281
原创 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
2697
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
3568
1
原创 python 中的多线程之GIL
python 之GIL下多线程、多进程一、了解认识GIL:Python 中的多线程,一个绕不过去的话题就是全局锁 GIL(Global interpreter lock)。GIL 限制了同一时刻只能有一个线程运行,无法发挥多核 CPU 的优势 。GIL本质就是一把互斥锁,既然是互斥锁,所有的锁的本质都一样,将并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务修改,进而保证数据安全。在一个python的进程内,不仅有主线程或者由该主线程开启其他线程,还有解释器开启的垃圾回收等解释器级别的线程。首
2020-12-30 19:28:21
1279
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
2631
原创 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
731
原创 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
1030
原创 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
1345
原创 解决多进程下APScheduler重复运行问题
解决多进程下APScheduler重复运行同一个任务被执行多次,暂时猜测原因是通过uwsgi启动flask服务是多进程,每个进程启动了一个定时任务调度器,造成同一个定时任务被多次执行flask项目初始化所调用,首先打开(或创建)一个scheduler.lock文件,并加上非阻塞互斥锁。成功后创建scheduler并启动。如果加文件锁失败,说明scheduler已经创建,就略过创建scheduler的部分。最后注册一个退出事件,如果这个flask项目退出,则解锁并关闭scheduler.lock文件的
2020-12-17 14:44:53
2424
原创 redis db0-15 的概念
redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。redis配置文件中下面的参数来控制数据库总数:databases 16可以通过下面的命令来切换到不同的数据库下select 2随后,所有的命令将使用数据库2,知道你明确的切换到另一个数据库下。每个数据库都有属于自己的空间,不必担心之间的key冲突。
2020-10-22 09:58:29
550
原创 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
650
原创 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
160
原创 大数据数仓平台环境搭建
1.基础环境1.1.软件环境本文将介绍Centos7.2 离线安装CDH和Cloudera Manager过程,软件版本如下:NO. 软件名称 版本操作系统 Centos7.2 64 位JDK jdk-8u191-linux-x64Clouder Manager cm5.15.0CDH CDH5.15.0数据库 postgresql9.61.2.配置规划本次安装共4台服务器...
2020-03-26 11:13:39
1518
1
原创 配置DNS
配置DNS:修改NetworkManager.conf 配置文件vim /etc/NetworkManager/NetworkManager.conf在[main]中添加dns=no重启NetworkManagersystemctl restart NetworkManager修改resolv.conf配置文件vim /etc/resolv.conf添加#主DNS服务器n...
2020-03-26 11:04:44
170
原创 mysql安装方式
mysql安装方式一、mysql 在线安装1.查看mysql安装了哪些东西rpm -qa |grep -i mysql2.卸载yum remove mysql-community-common-5.7.20-1.el7.x86_64yum remove mysql-community-client-5.7.20-1.el7.x86_64yum remove mysql57-comm...
2020-03-16 09:44:40
232
原创 postgresql 并行查询的探究
postgrwsql 并行查询1.并行查询的相关配置参数max_worker_processes:决定了整个数据库集群允许启动多少个work process(注意如果有standby,standby的参数必须大于等于主库的参数值)。设置为0,表示不允许并行。设置系统支持的最大后台进程数,默认值为8,如果有备库,备库上此参数必须大于或等于主库的此参数配置值,此参数调整后需重启数据库才能生效ma...
2020-01-15 15:59:56
1150
原创 yum 报错:Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
yum 报错:Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again原因是某epel的镜像节点抽风或者宕机了,也可能是CA信任列表过期导致无法正确获取epel镜像站点所以先考虑更新CA可信任列表:yum upgrade ca-certificates --disabl...
2020-01-15 10:52:10
4145
原创 Navicat 连接MySQL 8.0.11 出现2059错误
Navicat 连接MySQL 8.0.11 出现2059错误错误使用Navicat Premium 连接MySQL时出现如下错误:原因mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password解决更改加密规则:mysql -uroot -ppassword #登录use mysq...
2020-01-15 10:39:25
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人