乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
单机环境下解决wsgiserver启动apscheduler运行多次问题 | chenzuoli's blog

单机环境下解决wsgiserver启动apscheduler运行多次问题

启动脚本中这样设置,多个worker启动apscheduler调度器的时候,去判断lock文件是否存在,存在则不启动,保证了多worker之间只启动了一个调度器。

fcntl atexit 这俩包只在类unix系统中存在,如果你想在windows中运行,则不行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import fcntl
import atexit

def register_scheduler():
"""
注册定时任务
"""
f = open("scheduler.lock", "wb")
# noinspection PyBroadException
try:
fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB)
scheduler.start()
except:
pass

def unlock():
fcntl.flock(f, fcntl.LOCK_UN)
f.close()

atexit.register(unlock)

register_scheduler()

书山有路勤为径,学海无涯苦作舟。

欢迎关注微信公众号:【程序员写书】
程序员写书

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------