🥶
タスクスケジューラが動かない。原因と対策。
はじめに
初めましての方は初めまして、クワイガンと申します。今回の記事では、Windows標準搭載の「タスクスケジューラ」で実行ファイルが思うように実行されなかったときのことを書いていきます。同じようなことで躓いた方はぜひ参考に。
状況
【Windows 10対応】タスクスケジューラで定期的な作業を自動化する
↑上記の記事を参考にして、毎日22:30に、ある実行ファイルを実行させるように設定していました。しかし、何度試しても指定時刻にファイルが実行されません!なぜだ!
原因
色々と試行錯誤して分かったのですが、どうやらパスが関係するみたい。実行ファイルの前身であるpyファイルの中身のこの記述が原因だったみたいです。GoogleスプレッドシートAPIを使わせてもらうための記述です。filenameで指定したパスが通っていなかったみたいです。
gc = gspread.service_account(filename = r".¥service_account.json")
対策
タスクスケジューラ設定時に、「開始(オプション)(T)」という項目で、カレントディレクトを設定しましょう。「開始(オプション)(T)」ではタスク実行時のカレントディレクトリを設定できます。今回の場合であれば、実行ファイルが存在するディレクトリを指定してあげれば動きました!
開始(オプション)(T) >> C:¥Users¥<実行ファイルの存在するディレクトリ>
おわりに
以上がタスクスケジューラで躓いたときの原因と対策でした。同じような境遇の方はぜひ参考にしてみてください!
最後に、もし興味がありましたら、僕の大規模?開発の苦難を語った記事を読んでみてください🙇
Discussion