質問編集履歴

6

コードの追加

2021/02/04 14:16

投稿

manami0419
manami0419

スコア10

test CHANGED
File without changes
test CHANGED
@@ -82,6 +82,8 @@
82
82
 
83
83
  puts error
84
84
 
85
+     puts config.access_token_secret ←追加
86
+
85
87
  end
86
88
 
87
89
 
@@ -106,6 +108,44 @@
106
108
 
107
109
    
108
110
 
111
+ ログ(run_regularly.rakeに「puts config.access_token_secret」を追加した際)
112
+
113
+ ```
114
+
115
+ Invalid or expired token.
116
+
117
+ rake aborted!
118
+
119
+ NameError: undefined local variable or method `config' for main:Object
120
+
121
+ /Users/yuta/projects/AutoTwitterDM/lib/tasks/run_regularly.rake:20:in `rescue in block (2 levels) in <main>'
122
+
123
+ /Users/yuta/projects/AutoTwitterDM/lib/tasks/run_regularly.rake:16:in `block (2 levels) in <main>'
124
+
125
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `load'
126
+
127
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `<main>'
128
+
129
+
130
+
131
+ Caused by:
132
+
133
+ Twitter::Error::Unauthorized: Invalid or expired token.
134
+
135
+ /Users/yuta/projects/AutoTwitterDM/lib/tasks/run_regularly.rake:17:in `block (2 levels) in <main>'
136
+
137
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `load'
138
+
139
+ /Users/yuta/.rbenv/versions/2.6.5/bin/bundle:23:in `<main>'
140
+
141
+ Tasks: TOP => minite_post:regularly_flag
142
+
143
+ (See full trace by running task with --trace)
144
+
145
+ ```
146
+
147
+   
148
+
109
149
  schedule.rb
110
150
 
111
151
  ```
@@ -176,7 +216,15 @@
176
216
 
177
217
  ```
178
218
 
219
+   
220
+
221
+
222
+
179
-
223
+ ```
224
+
225
+ puts config.access_token_secret
226
+
227
+ ```
180
228
 
181
229
 
182
230
 

5

情報の追加

2021/02/04 14:16

投稿

manami0419
manami0419

スコア10

test CHANGED
File without changes
test CHANGED
@@ -78,11 +78,9 @@
78
78
 
79
79
  @client.create_direct_message(@client.user(@user.name).id, "#{@client.user(@user.name).name}#{@user.atena}\n\n#{@user.text}")
80
80
 
81
- rescue
81
+ rescue => error
82
82
 
83
- puts $!
83
+ puts error
84
-
85
- puts $@
86
84
 
87
85
  end
88
86
 
@@ -152,77 +150,29 @@
152
150
 
153
151
    
154
152
 
155
- ログ(単発実行時)
153
+ rescueのログ(単発実行時)
154
+
155
+ ただし、DM送信はできている。
156
156
 
157
157
  ```
158
158
 
159
- [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
159
+ undefined method `name' for nil:NilClass
160
160
 
161
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
162
-
163
-  (0.2ms) SELECT COUNT(*) FROM `send_infos`
164
-
165
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
166
-
167
- SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
168
-
169
- ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
170
-
171
-  (0.3ms) BEGIN
172
-
173
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
174
-
175
- SendInfo Destroy (0.5ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 246
176
-
177
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
178
-
179
-  (1.3ms) COMMIT
180
-
181
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
182
-
183
-  (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
184
-
185
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
186
-
187
-  (0.3ms) SELECT COUNT(*) FROM `send_infos`
188
-
189
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
190
-
191
- SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
192
-
193
- ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
161
+ "OK"
194
162
 
195
163
  ```
196
164
 
197
165
    
198
166
 
199
- ログ(定期実行時)
167
+ rescueのログ(定期実行時)
168
+
169
+ DM送信はできない。
200
170
 
201
171
  ```
202
172
 
203
- [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
173
+ Invalid or expired token.
204
174
 
205
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
206
-
207
-  (0.2ms) SELECT COUNT(*) FROM `send_infos`
208
-
209
- ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
210
-
211
- SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
212
-
213
- ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
214
-
215
-  (0.3ms) BEGIN
216
-
217
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
218
-
219
- SendInfo Destroy (0.4ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 241
220
-
221
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
222
-
223
-  (0.5ms) COMMIT
175
+ "OK"
224
-
225
- ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
226
176
 
227
177
  ```
228
178
 

4

コードの編集

2021/02/04 09:36

投稿

manami0419
manami0419

スコア10

test CHANGED
File without changes
test CHANGED
@@ -80,8 +80,14 @@
80
80
 
81
81
  rescue
82
82
 
83
+ puts $!
84
+
85
+ puts $@
86
+
83
87
  end
84
88
 
89
+
90
+
85
91
  if @user_num >= 1
86
92
 
87
93
  @user.destroy

3

コードの追加

2021/02/04 08:44

投稿

manami0419
manami0419

スコア10

test CHANGED
File without changes
test CHANGED
@@ -136,6 +136,16 @@
136
136
 
137
137
    
138
138
 
139
+ cronへの登録情報
140
+
141
+ ```
142
+
143
+ * * * * * /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'
144
+
145
+ ```
146
+
147
+   
148
+
139
149
  ログ(単発実行時)
140
150
 
141
151
  ```

2

コードの編集

2021/02/04 02:00

投稿

manami0419
manami0419

スコア10

test CHANGED
File without changes
test CHANGED
@@ -106,57 +106,29 @@
106
106
 
107
107
  ```
108
108
 
109
+ # Rails.rootを使用するために必要。なぜなら、wheneverは読み込まれるときにrailsを起動する必要がある
110
+
111
+ require File.expand_path(File.dirname(__FILE__) + "/environment")
112
+
113
+ # cronを実行する環境変数
114
+
115
+ rails_env = ENV['RAILS_ENV'] || :development
116
+
117
+ # cronを実行する環境変数をセット
118
+
119
+ set :environment, rails_env
120
+
121
+
122
+
123
+ # cronのログの吐き出し場所。ここでエラー内容を確認する
124
+
125
+ set :output, "#{Rails.root}/log/cron.log"
126
+
127
+
128
+
109
- namespace :minite_post do
129
+ every 1.minutes do
110
-
111
- desc "保存内容を一件ずつ送信"
130
+
112
-
113
- task :regularly_flag => :environment do
114
-
115
- #ログ
116
-
117
- logger = Logger.new 'log/run_regularly.log'
131
+ rake "minite_post:regularly_flag"
118
-
119
-
120
-
121
- #ここから処理を書いていく
122
-
123
- @client = Twitter::REST::Client.new do |config|
124
-
125
- config.consumer_key = ENV["TWITTER_CONSUMER_KEY"]
126
-
127
- config.consumer_secret = ENV["CONSUMER_SECRET"]
128
-
129
- config.access_token = ENV["ACCESS_TOKEN"]
130
-
131
- config.access_token_secret = ENV["ACCESS_TOKEN_SECRET"]
132
-
133
- end
134
-
135
- @user_num = SendInfo.count
136
-
137
- @user = SendInfo.first
138
-
139
- begin
140
-
141
- @client.create_direct_message(@client.user(@user.name).id, "#{@client.user(@user.name).name}#{@user.atena}\n\n#{@user.text}")
142
-
143
- rescue
144
-
145
- end
146
-
147
- if @user_num >= 1
148
-
149
- @user.destroy
150
-
151
- end
152
-
153
-
154
-
155
- #デバッグのため
156
-
157
- p "OK"
158
-
159
- end
160
132
 
161
133
  end
162
134
 

1

情報の追加

2021/02/04 01:56

投稿

manami0419
manami0419

スコア10

test CHANGED
File without changes
test CHANGED
@@ -164,6 +164,80 @@
164
164
 
165
165
    
166
166
 
167
+ ログ(単発実行時)
168
+
169
+ ```
170
+
171
+ [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
172
+
173
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
174
+
175
+  (0.2ms) SELECT COUNT(*) FROM `send_infos`
176
+
177
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
178
+
179
+ SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
180
+
181
+ ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
182
+
183
+  (0.3ms) BEGIN
184
+
185
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
186
+
187
+ SendInfo Destroy (0.5ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 246
188
+
189
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
190
+
191
+  (1.3ms) COMMIT
192
+
193
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
194
+
195
+  (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
196
+
197
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
198
+
199
+  (0.3ms) SELECT COUNT(*) FROM `send_infos`
200
+
201
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
202
+
203
+ SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
204
+
205
+ ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
206
+
207
+ ```
208
+
209
+   
210
+
211
+ ログ(定期実行時)
212
+
213
+ ```
214
+
215
+ [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
216
+
217
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
218
+
219
+  (0.2ms) SELECT COUNT(*) FROM `send_infos`
220
+
221
+ ↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
222
+
223
+ SendInfo Load (0.2ms) SELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1
224
+
225
+ ↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
226
+
227
+  (0.3ms) BEGIN
228
+
229
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
230
+
231
+ SendInfo Destroy (0.4ms) DELETE FROM `send_infos` WHERE `send_infos`.`id` = 241
232
+
233
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
234
+
235
+  (0.5ms) COMMIT
236
+
237
+ ↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
238
+
239
+ ```
240
+
167
241
 
168
242
 
169
243
 
@@ -172,4 +246,10 @@
172
246
 
173
247
  ruby 2.6.5p114
174
248
 
175
- Rails 6.0.3.4
249
+ Rails 6.0.3.4
250
+
251
+
252
+
253
+ 参考にさせていただいたサイト
254
+
255
+ [定期実行する rake taskとcronの使い方](https://qiita.com/w5966qzh/items/b77ba8aa3d603cdbb86b#comments)