为什么这段代码上面的定时任务不执行呢?是什么冲突了吗?也找不到提示的报错内容。
框架:flask
代码:python
系统:alpine:3.13
from apscheduler.schedulers.background import BackgroundScheduler
from wxcloudrun import app
from wxcloudrun.views import fetch_and_store_daily_content
import os
scheduler = BackgroundScheduler(daemon=True)
def job_with_logging():
with app.app_context(): # 确保任务在应用上下文中运行
app.logger.info('=== 开始执行每日内容抓取任务 ===')
try:
fetch_and_store_daily_content()
app.logger.info('=== 每日内容抓取任务执行成功 ===')
except Exception as e:
app.logger.error(f'!!! 任务执行失败: {str(e)} !!!')
# 添加任务
scheduler.add_job(
func=job_with_logging,
trigger='cron',
hour=18,
minute=40,
timezone='Asia/Shanghai',
id='daily_content_fetch'
)
# 仅在主进程且非重载时启动调度器(防止 Flask 调试模式重复执行)
if not app.debug or os.environ.get('WERKZEUG_RUN_MAIN') == 'true':
with app.app_context():
scheduler.start()
app.logger.info(f'定时任务已启动,下次执行时间: {scheduler.get_jobs()[0].next_run_time}')
是不是没有配置实例持续运行,实例缩容导致没有定时运行