如何使用apscheduler在特定时间之间每分钟触发一次作业?

时间:2018-01-12 10:46:38

标签: python-3.6 apscheduler

我正在使用python apscheduler模块。是否有可能在每天早上7:30到晚上11:30之间每分钟触发一次工作?

我尝试过以下解决方案,但我不知道如何使用分钟添加约束。

class Functions
    {
        public static void Run([EventHubTrigger("azurepochub")] EventData message, [Microsoft.Azure.WebJobs.DocumentDB("testcosmosdb01122018", "Items", ConnectionStringSetting = "dbConnctionString")]out dynamic document)
        {
            string data = Encoding.UTF8.GetString(message.GetBytes());

            document = data;
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine($"Message received. Data: '{data}'");
            Console.ResetColor();
        }
    }  

1 个答案:

答案 0 :(得分:4)

您可以使用新的OrTrigger合并多个CronTrigger来涵盖整个时间范围:

from apscheduler.triggers.combining import OrTrigger
from apscheduler.triggers.cron import CronTrigger

trigger = OrTrigger([
   CronTrigger(hour='7', minute='30-59'),
   CronTrigger(hour='8-22', minute='*'),
   CronTrigger(hour='23', minute='0-30')
])

sched.add_job(job_function, trigger)