首页
关于
Search
1
git lg彩色显示日志
28 阅读
2
在 Ubuntu 22.04 LTS 中安装 Docker
19 阅读
3
CentOs/Ubuntu搭建上网x-ui
18 阅读
4
git使用多个源和多个分支
15 阅读
5
清理Windows臃肿程序
15 阅读
默认分类
网站搭建
Windows
Linux
Docker
OpenWrt
Hackintosh
Git
Python
Web开发
JavaScript
FFmpeg
Demo
工具
刷机
油猴脚本
Excel
Chrome Extension
登录
Search
标签搜索
Pandas
读取
时区
Chrome
centos8
求和
Nginx
Typecho
404
csv
国际站
询盘导出
油猴脚本
bbr
Ubuntu
远程桌面
日志
log
数据清洗
打印机
野生程序猿
累计撰写
153
篇文章
累计收到
0
条评论
首页
栏目
默认分类
网站搭建
Windows
Linux
Docker
OpenWrt
Hackintosh
Git
Python
Web开发
JavaScript
FFmpeg
Demo
工具
刷机
油猴脚本
Excel
Chrome Extension
页面
关于
搜索到
153
篇与
的结果
2023-11-27
git保存账号密码
保存账号密码git config --global credential.helper store
2023年11月27日
14 阅读
0 评论
0 点赞
2023-11-27
x-ui搭建vless-reality-vision
1.项目地址: https://github.com/FranzKafkaYu/x-ui x-ui一键安装命令bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/956bf85bbac978d56c0e319c5fac2d6db7df9564/install.sh) 0.3.4.4 # 另一个项目 bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)登录面板前需要先设置防火墙sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -F设置节点openclash配置- name: "vless-reality-vision" type: vless server: 223.26.52.62 port: 443 uuid: 51f5bbda-1958-4434-816e-f876271bafdd network: tcp tls: true udp: true flow: xtls-rprx-vision servername: 51f5bbda.com reality-opts: public-key: 4comh-7Jm_wZXJQ5QiLSCbVGQIbMUzHUIBdb0aFtLzM client-fingerprint: chrome
2023年11月27日
11 阅读
0 评论
0 点赞
2023-11-26
人脸搜索引擎
人脸搜索facecheck.id https://facecheck.id/zhyandex https://facecheck.id/zh
2023年11月26日
1 阅读
0 评论
0 点赞
2023-11-25
uwsgi下apscheduler定时任务不启动
uwsgi启动后在没有请求的时候,部分进程会被挂起,需在uwsgi.ini中增加如下配置:# flask_apscheduler配置 enable-threads = true preload = true lazy-apps = true
2023年11月25日
3 阅读
0 评论
0 点赞
2023-11-25
uwsgi下apscheduler定时任务启动多次的解决办法
在Web应用的开发中,有时我们需要定时执行一些任务,比如每天早上8点执行一次特定的任务。而在uWSGI这样的应用服务器环境下,我们需要确保任务只在一个进程中运行,避免重复执行。为了实现这一目标,我们可以使用文件锁来同步多个uWSGI worker进程。使用APScheduler定时任务首先,我们使用APScheduler库来创建定时任务。在这个示例中,我们定义了一个名为daily_update_task的任务,它将在每天早上8点执行。from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.triggers.cron import CronTrigger from flask import Flask app = Flask(__name__) def daily_update_task(): with app.app_context(): print('daily_update_task starts...') scheduler = BackgroundScheduler() scheduler.add_job(daily_update_task, trigger=CronTrigger.from_crontab('1 8 * * *')) 使用文件锁确保单一运行接下来,我们使用文件锁来确保只有一个uWSGI worker进程可以创建并运行daily_update_task任务。我们通过fcntl模块获取文件锁,然后创建并启动BackgroundScheduler。import fcntl import os def start_scheduler(): # 获取当前脚本的绝对路径 script_path = os.path.abspath(__file__) # 使用文件锁 lock_file = open(script_path + '.lock', 'w') try: # 尝试获取锁,如果获取失败说明已经有其他实例在运行 fcntl.flock(lock_file, fcntl.LOCK_EX | fcntl.LOCK_NB) # 创建并启动调度器 scheduler = BackgroundScheduler() scheduler.add_job(daily_update_task, trigger=CronTrigger.from_crontab('1 8 * * *')) scheduler.start() # 阻塞当前进程,保持文件锁 while True: pass except IOError: # 文件锁已被其他进程获取,说明已经有一个实例在运行 print("Another instance is already running.") finally: # 释放文件锁 lock_file.close() if __name__ == '__main__': start_scheduler() 这样,我们就确保了在uWSGI下只有一个进程创建并运行了定时任务。当其他进程尝试运行时,它们会检测到文件锁已被获取,从而避免了重复执行任务。总结在uWSGI环境下,使用文件锁是一种有效的方法来确保定时任务只在一个进程中运行。通过以上代码,我们成功地创建了一个daily_update_task任务,并使用文件锁避免了多个进程重复运行任务的问题。这对于需要定时执行任务的Web应用是一个实用的技术手段。
2023年11月25日
1 阅读
0 评论
0 点赞
1
...
10
11
12
...
31