指定した時間で実施する、もしくは指定した間隔で実行する説明が多いですが、
時間帯と実行頻度を同時に指定する事例が見当たらなかったため、以下の方法で実装しました。
もっと良い方法があれば、ご教示いただけますと幸いです。
import datetime
import time
import schedule
# 開始のジョブ
def startJob():
# 10分毎に実施するジョブ登録
schedule.every(10).minutes.do(runJob)
print('startJob:' + str(datetime.datetime.now()))
# 実際に実行したいメイン処理
def runJob():
print('runJob:' + str(datetime.datetime.now()))
# 終了のジョブ
def endJob():
print('endJob:' + str(datetime.datetime.now()))
for jobV in schedule.jobs:
if 'runJob()' in str(jobV):
# メイン処理のジョブを削除
schedule.cancel_job(jobV)
break
# 開始するジョブと終了するジョブを定義する
schedule.every().day.at("12:00").do(startJob)
schedule.every().day.at("13:00").do(endJob)
while True:
schedule.run_pending()
time.sleep(1)