前提・実現したいこと
こんにちは、はじめてお尋ねします。
タイマーでPC処理が作動するRPAプログラムを作っています。
毎日指定時間9:00に作動、
scheduleライブラリのwhile trueを使ってセットします。
作動後の手順に少々時間を要するために、
作動ジョブを2回に分けています。
8:55分のタイマーはscheduleライブラリ無限ループで待機
9:00当刻のタイマーは1回だけ作動させて、schedule無限ループを抜ける。
8:55の関数待機に戻る
という
scheduleのwhile Trueのループを2段階でタイマーセットしたいのですが、
無限ループが行ってしまい設定することができない状況です。
ご教授いただけないでしょうか。
発生している問題・エラーメッセージ
2回目に作動させるジョブをschedule無限ループから抜け出させる処理、1回で終わらせる処理は書けたのですが、
両方の関数を連動させたとき、
while Trueの無限ループが関数でまたがっているからか、ループのエラーが行ってしまいます。
1回目のループから無限ループに陥ります。
errormessage
該当のソースコード
デバッグ用のサンプルコードです。
debug.py
python
1import schedule 2import time 3import datetime 4 5import debug2 6#1度目のスケジュール処理 7def controljob(): 8 debug2.gymjob() 9 10schedule.every().day.at("06:36").do(controljob) 11while True: 12 schedule.run_pending() 13 time.sleep(1)
debug2.py
python
1import schedule 2import time 3import datetime 4 5#2度目のスケジュール処理 6 7flag = 0 8def gymjob2(): 9 print("gymjob2作動") 10 global flag 11 flag = flag + 1 12 print(flag, "終了フラグが立ちました") 13 14def gymjob(): 15 global flag 16 print("gymjob作動") 17 schedule.every().day.at("06:37").do(gymjob2) 18 while True: 19 schedule.run_pending() 20 time.sleep(1) 21 if flag == 1: 22 break
試したこと
片方のみをscheduleセットにすると、scheduleは問題なく動くのですが、
両方のscheduleを動かそうとすると、1回目のwhile Trueループが無限ループされるようになってしまいます。
環境
windows10
python3.8
editor:Atom
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/22 01:20