質問するログイン新規登録

質問編集履歴

4

ローカルでは問題ない旨追記しました

2019/03/15 00:44

投稿

mohimohi98k
mohimohi98k

スコア13

title CHANGED
File without changes
body CHANGED
@@ -45,4 +45,5 @@
45
45
  ```
46
46
  この表記で、thread_1.start()は呼ばれるのでしょうか。
47
47
  この状態だと、run.pyが呼ばれてサーバが立つ前に関数が動きはじめて、
48
- それに続くようにサーバが立ち上がるとの認識で記述していましたが、その認識で間違いはないでしょうか。
48
+ それに続くようにサーバが立ち上がるとの認識で記述していましたが、その認識で間違いはないでしょうか。
49
+ (今動かないのはDocker上のみで、ローカルでpython run.pyで起動するとスケジュールは正しく呼ばれます)

3

追記を記載しました。そもそもの呼び出し方が合っているかどうかの質問になります。

2019/03/15 00:44

投稿

mohimohi98k
mohimohi98k

スコア13

title CHANGED
File without changes
body CHANGED
@@ -31,4 +31,18 @@
31
31
  こちらの内容も試してみましたが、
32
32
  スレッドではないので一度起動してしまうと、定刻になるまで他の処理が動かない状態になっていました。
33
33
 
34
- https://zhuanlan.zhihu.com/p/26415908
34
+ https://zhuanlan.zhihu.com/p/26415908
35
+
36
+
37
+
38
+ #### 追記
39
+ そもそもの話ですが、
40
+ ```
41
+ if __name__ == '__main__':
42
+ thread_1 = threading.Thread(target=test_schedule)
43
+ thread_1.start()
44
+ app.run()
45
+ ```
46
+ この表記で、thread_1.start()は呼ばれるのでしょうか。
47
+ この状態だと、run.pyが呼ばれてサーバが立つ前に関数が動きはじめて、
48
+ それに続くようにサーバが立ち上がるとの認識で記述していましたが、その認識で間違いはないでしょうか。

2

関数名がライブラリと同じものになっていたため修正

2019/03/15 00:34

投稿

mohimohi98k
mohimohi98k

スコア13

title CHANGED
File without changes
body CHANGED
@@ -4,15 +4,16 @@
4
4
  #### ソース
5
5
  ```
6
6
  run.py
7
+ import schedule
7
8
 
8
- def schedule():
9
+ def test_schedule():
9
10
  schedule.every().day.at("00:00").do(呼び出したい関数)
10
11
  while True:
11
12
  schedule.run_pending()
12
13
  time.sleep(3600) #1時間に1回くらいチェックして0時になったら実行してほしい
13
14
 
14
15
  if __name__ == '__main__':
15
- thread_1 = threading.Thread(target=schedule)
16
+ thread_1 = threading.Thread(target=test_schedule)
16
17
  thread_1.start()
17
18
  app.run()
18
19
 

1

defi以降のインデントがずれていたので修正しました

2019/03/14 07:38

投稿

mohimohi98k
mohimohi98k

スコア13

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  run.py
7
7
 
8
8
  def schedule():
9
- schedule.every().day.at("00:00").do(呼び出したい関数)
9
+ schedule.every().day.at("00:00").do(呼び出したい関数)
10
10
  while True:
11
11
  schedule.run_pending()
12
12
  time.sleep(3600) #1時間に1回くらいチェックして0時になったら実行してほしい