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

質問編集履歴

6

コードの追加

2021/02/04 14:16

投稿

manami0419
manami0419

スコア10

title CHANGED
File without changes
body CHANGED
@@ -40,6 +40,7 @@
40
40
  @client.create_direct_message(@client.user(@user.name).id, "#{@client.user(@user.name).name}#{@user.atena}\n\n#{@user.text}")
41
41
  rescue => error
42
42
  puts error
43
+     puts config.access_token_secret ←追加
43
44
  end
44
45
 
45
46
  if @user_num >= 1
@@ -52,6 +53,25 @@
52
53
  end
53
54
  ```
54
55
    
56
+ ログ(run_regularly.rakeに「puts config.access_token_secret」を追加した際)
57
+ ```
58
+ Invalid or expired token.
59
+ rake aborted!
60
+ NameError: undefined local variable or method `config' for main:Object
61
+ /Users/yuta/projects/AutoTwitterDM/lib/tasks/run_regularly.rake:20:in `rescue in block (2 levels) in <main>'
62
+ /Users/yuta/projects/AutoTwitterDM/lib/tasks/run_regularly.rake:16:in `block (2 levels) in <main>'
63
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `load'
64
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `<main>'
65
+
66
+ Caused by:
67
+ Twitter::Error::Unauthorized: Invalid or expired token.
68
+ /Users/yuta/projects/AutoTwitterDM/lib/tasks/run_regularly.rake:17:in `block (2 levels) in <main>'
69
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `load'
70
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `<main>'
71
+ Tasks: TOP => minite_post:regularly_flag
72
+ (See full trace by running task with --trace)
73
+ ```
74
+   
55
75
  schedule.rb
56
76
  ```
57
77
  # Rails.rootを使用するために必要。なぜなら、wheneverは読み込まれるときにrailsを起動する必要がある
@@ -87,7 +107,11 @@
87
107
  Invalid or expired token.
88
108
  "OK"
89
109
  ```
110
+   
90
111
 
112
+ ```
113
+ puts config.access_token_secret
114
+ ```
91
115
 
92
116
  ### 補足情報(FW/ツールのバージョンなど)
93
117
  ruby 2.6.5p114

5

情報の追加

2021/02/04 14:16

投稿

manami0419
manami0419

スコア10

title CHANGED
File without changes
body CHANGED
@@ -38,9 +38,8 @@
38
38
  @user = SendInfo.first
39
39
  begin
40
40
  @client.create_direct_message(@client.user(@user.name).id, "#{@client.user(@user.name).name}#{@user.atena}\n\n#{@user.text}")
41
- rescue
41
+ rescue => error
42
- puts $!
42
+ puts error
43
- puts $@
44
43
  end
45
44
 
46
45
  if @user_num >= 1
@@ -75,42 +74,18 @@
75
74
  * * * * * /bin/bash -l -c 'cd /Users/manami/projects/AutoTwitterDM && RAILS_ENV=development bundle exec rake minite_post:regularly_flag --silent >> /Users/manami/projects/AutoTwitterDM/log/cron.log 2>&1'
76
75
  ```
77
76
    
78
- ログ(単発実行時)
77
+ rescueのログ(単発実行時)
78
+ ただし、DM送信はできている。
79
79
  ```
80
- [1m (0.6ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
81
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
82
-  (0.2ms) SELECT COUNT(*) FROM `send_infos`
83
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
84
- SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
85
- ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
86
-  (0.3ms) BEGIN
87
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
88
- SendInfo Destroy (0.5ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 246
89
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
90
-  (1.3ms) COMMIT
91
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
92
-  (0.4ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
93
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
94
-  (0.3ms) SELECT COUNT(*) FROM `send_infos`
95
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
96
- SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
97
- ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
80
+ undefined method `name' for nil:NilClass
81
+ "OK"
98
82
  ```
99
83
    
100
- ログ(定期実行時)
84
+ rescueのログ(定期実行時)
85
+ DM送信はできない。
101
86
  ```
102
- [1m (0.6ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
103
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
104
-  (0.2ms) SELECT COUNT(*) FROM `send_infos`
105
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
106
- SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
107
- ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
108
-  (0.3ms) BEGIN
109
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
110
- SendInfo Destroy (0.4ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 241
111
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
112
-  (0.5ms) COMMIT
113
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
87
+ Invalid or expired token.
88
+ "OK"
114
89
  ```
115
90
 
116
91
 

4

コードの編集

2021/02/04 09:36

投稿

manami0419
manami0419

スコア10

title CHANGED
File without changes
body CHANGED
@@ -39,7 +39,10 @@
39
39
  begin
40
40
  @client.create_direct_message(@client.user(@user.name).id, "#{@client.user(@user.name).name}#{@user.atena}\n\n#{@user.text}")
41
41
  rescue
42
+ puts $!
43
+ puts $@
42
44
  end
45
+
43
46
  if @user_num >= 1
44
47
  @user.destroy
45
48
  end

3

コードの追加

2021/02/04 08:44

投稿

manami0419
manami0419

スコア10

title CHANGED
File without changes
body CHANGED
@@ -67,6 +67,11 @@
67
67
  end
68
68
  ```
69
69
    
70
+ cronへの登録情報
71
+ ```
72
+ * * * * * /bin/bash -l -c 'cd /Users/manami/projects/AutoTwitterDM && RAILS_ENV=development bundle exec rake minite_post:regularly_flag --silent >> /Users/manami/projects/AutoTwitterDM/log/cron.log 2>&1'
73
+ ```
74
+   
70
75
  ログ(単発実行時)
71
76
  ```
72
77
  [1m (0.6ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483

2

コードの編集

2021/02/04 02:00

投稿

manami0419
manami0419

スコア10

title CHANGED
File without changes
body CHANGED
@@ -52,32 +52,18 @@
52
52
    
53
53
  schedule.rb
54
54
  ```
55
- namespace :minite_post do
55
+ # Rails.rootを使用するために必要。なぜなら、wheneverは読み込まれるときにrailsを起動する必要がある
56
- desc "保存内容を一件ずつ送信"
57
- task :regularly_flag => :environment do
56
+ require File.expand_path(File.dirname(__FILE__) + "/environment")
58
- #ログ
57
+ # cronを実行する環境変数
59
- logger = Logger.new 'log/run_regularly.log'
58
+ rails_env = ENV['RAILS_ENV'] || :development
59
+ # cronを実行する環境変数をセット
60
+ set :environment, rails_env
60
61
 
61
- #ここから処理を書いていく
62
- @client = Twitter::REST::Client.new do |config|
62
+ # cronのログの吐き出し場所。ここでエラー内容を確認する
63
- config.consumer_key = ENV["TWITTER_CONSUMER_KEY"]
64
- config.consumer_secret = ENV["CONSUMER_SECRET"]
63
+ set :output, "#{Rails.root}/log/cron.log"
65
- config.access_token = ENV["ACCESS_TOKEN"]
66
- config.access_token_secret = ENV["ACCESS_TOKEN_SECRET"]
67
- end
68
- @user_num = SendInfo.count
69
- @user = SendInfo.first
70
- begin
71
- @client.create_direct_message(@client.user(@user.name).id, "#{@client.user(@user.name).name}#{@user.atena}\n\n#{@user.text}")
72
- rescue
73
- end
74
- if @user_num >= 1
75
- @user.destroy
76
- end
77
64
 
78
- #デバッグのため
65
+ every 1.minutes do
79
- p "OK"
66
+ rake "minite_post:regularly_flag"
80
- end
81
67
  end
82
68
  ```
83
69
    

1

情報の追加

2021/02/04 01:56

投稿

manami0419
manami0419

スコア10

title CHANGED
File without changes
body CHANGED
@@ -81,8 +81,48 @@
81
81
  end
82
82
  ```
83
83
    
84
+ ログ(単発実行時)
85
+ ```
86
+ [1m (0.6ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
87
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
88
+  (0.2ms) SELECT COUNT(*) FROM `send_infos`
89
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
90
+ SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
91
+ ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
92
+  (0.3ms) BEGIN
93
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
94
+ SendInfo Destroy (0.5ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 246
95
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
96
+  (1.3ms) COMMIT
97
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
98
+  (0.4ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
99
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
100
+  (0.3ms) SELECT COUNT(*) FROM `send_infos`
101
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
102
+ SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
103
+ ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
104
+ ```
105
+   
106
+ ログ(定期実行時)
107
+ ```
108
+ [1m (0.6ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
109
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
110
+  (0.2ms) SELECT COUNT(*) FROM `send_infos`
111
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
112
+ SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
113
+ ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
114
+  (0.3ms) BEGIN
115
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
116
+ SendInfo Destroy (0.4ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 241
117
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
118
+  (0.5ms) COMMIT
119
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
120
+ ```
84
121
 
85
122
 
86
123
  ### 補足情報(FW/ツールのバージョンなど)
87
124
  ruby 2.6.5p114
88
- Rails 6.0.3.4
125
+ Rails 6.0.3.4
126
+
127
+ 参考にさせていただいたサイト
128
+ [定期実行する rake taskとcronの使い方](https://qiita.com/w5966qzh/items/b77ba8aa3d603cdbb86b#comments)