Проблема при добавлении задания в APScheduler (Python 3.6) - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь запланировать свой скрипт на python (merchant.py) один раз в неделю, используя APScheduler

Для этой цели я установил пакет, и когда я запускаю следующий пример кодас опцией cronjob-

from datetime import datetime
import time
import os
from apscheduler.schedulers.background import BackgroundScheduler
def tick():
print('Tick! The time is: %s' % datetime.now())

if __name__ == '__main__':
    scheduler = BackgroundScheduler()
    scheduler.add_job(tick, 'cron', day_of_week = 'mon', hour = 11)
    scheduler.start()
    print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
    try:
        while True:
            time.sleep(2)
    except (KeyboardInterrupt, SystemExit):
        scheduler.shutdown()

Я получаю следующую ошибку-

KeyError: 'cron'

LookupError: Триггер с именем "cron" не найден

Не могли бы вы исправить меня, что я здесь не так делаю?

1 Ответ

0 голосов
/ 07 июня 2018

Я нашел одно решение, поэтому делюсь для других-

from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.triggers.combining import OrTrigger
from apscheduler.triggers.cron import CronTrigger
import time

sched = BlockingScheduler()

trigger = OrTrigger([
   CronTrigger(day_of_week='thu', hour='07', minute='28')
])
sched.add_job(YOUR_JOB, trigger)
sched.start()
try:
    while True:
    time.sleep(2)
except (KeyboardInterrupt, SystemExit):
    sched.shutdown()
...