linux系统,使用apscheduler添加10个定时任务,后台运行,但是就只执行了一次
时间: 2023-10-01 22:06:37 浏览: 69
Python定时任务APScheduler的实例实例详解
可能是由于没有为任务指定持久化存储器而导致的。您可以尝试在初始化`APScheduler`时添加一个存储器,如下所示:
```python
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
jobstores = {
'default': SQLAlchemyJobStore(url='sqlite:///jobs.sqlite')
}
scheduler = BackgroundScheduler(jobstores=jobstores)
```
这里使用了`SQLAlchemyJobStore`作为存储器,并将其连接到名为`jobs.sqlite`的SQLite数据库中。这样做可以保证任务在多次运行之间得以持久化存储。
此外,您还可以在调度器中添加日志记录,以便查看任务是否正在按预期执行,并检查是否有任何错误。例如:
```python
import logging
logging.basicConfig()
logging.getLogger('apscheduler').setLevel(logging.DEBUG)
```
这将启用调度程序的调试日志记录,使您能够跟踪任务被调度和执行的详细信息。
阅读全文