質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1010閲覧

scheduleモジュールで別クラスのメソッドを呼び出した動作

jun1248

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/10/31 15:05

#前提・実現したいこと
閲覧ありがとうございます。
pythonのscheduleを使用してmainメソッドから他クラスのメソッドを引数を渡して定期実行処理を実装したいです。

#発生している問題・エラーメッセージ
下記に記載の処理をmainメソッドに実装しているのですが、
時間になる前にプログラムを実行した直後に処理が行われてしまいます。(日曜日の15時ではない時間)

python

1#doの引数(A...別クラスのメソッドA、driver...webdriver.Chrome()の変数、cnxn,cursor...DBの接続情報) 2schedule.every().sunday.at("15:00").do(A(driver,cnxn,cursor))

呼び出し先のメソッド

python

1 def A(driver,cnxn,cursor): 2  #後続処理

#やってみたこと
①引数の指定なしで呼び出した時、想定通りの動作をする。(日曜日の15時に処理が行われる)
②下記の様に全てカンマ区切りでもプログラムを実行した直後に処理が行われる(日曜日の15時ではない時間)

Python

1schedule.every().sunday.at("15:00").do(A,driver,cnxn,cursor)

#補足情報(FW/ツールのバージョンなど)
Python 3.7.4
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
pyodbc 4.0.31

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Pass arguments to a jobを見ますと、以下の様に記述するのではないでしょうか。

python

1schedule.every().sunday.at("15:00").do(A, driver=driver, cnxn=cnxn, cursor=cursor)

投稿2021/10/31 15:14

melian

総合スコア20655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun1248

2021/11/01 10:28

ご回答ありがとうございます。 ご提示頂いたソースを実行してみたのですが、 時間が来ても実行されませんでした。 ご教授頂いたサイトも併せて確認します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問