Как реализовать вызов асинхронных функций по расписанию в python?
Ниже приведен рабочий код на python для вызова синхронных функций по расписанию, но требуется вызывать их ассинхронный аналог. Как правильно реализовать вызов асинхронных функций по расписанию ? Какая оптимальная кроссплатформенная библиотека для этих задач на сегодняшний день?
import asyncio
import schedule
import logging
import logging.config
import json
import codecs
import sys
from datetime import datetime
def get_json_config():
config_file = "log_config.json"
logger.info("config file: %s", config_file)
# We use codecs.open because it is equivalent to Python 3 open()
with codecs.open(config_file, "r", encoding="utf-8") as fd:
config = json.load(fd)
return config
def job1m():
logger.info(f"1min {datetime.now()}")
def job2m():
logger.info(f"2min {datetime.now()}")
async def main():
log_config = get_json_config()
logging.config.dictConfig(log_config)
logger = logging.getLogger()
schedule.every().hour.at('00:00').do(job1m)
schedule.every().minutes.at('02:00').do(job2m)
while True:
schedule.run_pending()
time.sleep(1)
if __name__ == "__main__":
logging.basicConfig()
logger = logging.getLogger()
asyncio.run(main())