[英]Run multiple schedule jobs at same time using Python Schedule
我在 python 中使用cx Oracle
和schedule
模块。以下是伪代码。
import schedule,cx_Oracle
def db_operation(query):
'''
Some DB operations like
1. Get connection
2. Execute query
3. commit result (in case of DML operations)
'''
schedule.every().hour.at(":10").do(db_operation,query='some_query_1') # Runs at 10th minute in every hour
schedule.every().day.at("13:10").do(db_operation,query='some_query_2') # Runs at 1:10 p.m every day
上面的两个scheduled jobs calls the same function
(它执行一些数据库操作)并且将在 13:10 重合。
问题:
priority of first job over second
,该怎么做?only one of these should be accessing the database
,否则可能导致数据不一致。 如何处理这种情况? 比如在访问 function 时是否可以加锁,或者应该以某种方式锁定表?我看了一下 schedule 的代码,得出以下结论:
some_query_1
将在some_query_2
之前执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.