执行器

APScheduler提供的执行器根据调度器和工作方式不同,主要有以下这些。

  • ThreadPoolExecutor,线程池执行器。
  • ProcessPoolExecutor,进程池执行器。
  • AsyncIOExecutor,基于asyncio的执行器,搭配AsyncIO调度器使用。
  • GeventExecutor,基于Gevent的执行器,搭配Gevent调度器使用。
  • TwistedExecutor,基于Twisted的执行器,搭配Twisted调度器使用。
  • DebugExecutor,调试执行器,不使用任何线程和进程。

与任务存储器一样,执行器一般也是初始化成一个字典,之后传递给调度器的executors参数来设定。具体可见以下示例。

from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor


executors = {
	'default': ThreadPoolExecutor(20),
	'process': ProcessPoolExecutor(5)
}

scheduler = BackgroundScheduler(executors=executors)

同样的,任务可以通过.add_job()executor参数来设定所要使用的执行器。