質問編集履歴
6
コードの追加
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
情報の追加
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
|
-
|
81
|
-
|
82
|
-
[1m[35m (0.2ms)[0m [1m[34mSELECT COUNT(*) FROM `send_infos`[0m
|
83
|
-
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
84
|
-
[1m[36mSendInfo Load (0.2ms)[0m [1m[34mSELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1[0m
|
85
|
-
↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
|
86
|
-
[1m[35m (0.3ms)[0m [1m[35mBEGIN[0m
|
87
|
-
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
88
|
-
[1m[36mSendInfo Destroy (0.5ms)[0m [1m[31mDELETE FROM `send_infos` WHERE `send_infos`.`id` = 246[0m
|
89
|
-
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
90
|
-
[1m[35m (1.3ms)[0m [1m[35mCOMMIT[0m
|
91
|
-
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
92
|
-
[1m[35m (0.4ms)[0m [1m[35mSET 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[0m
|
93
|
-
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
94
|
-
[1m[35m (0.3ms)[0m [1m[34mSELECT COUNT(*) FROM `send_infos`[0m
|
95
|
-
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
96
|
-
[1m[36mSendInfo Load (0.2ms)[0m [1m[34mSELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1[0m
|
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
|
-
|
103
|
-
|
104
|
-
[1m[35m (0.2ms)[0m [1m[34mSELECT COUNT(*) FROM `send_infos`[0m
|
105
|
-
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
106
|
-
[1m[36mSendInfo Load (0.2ms)[0m [1m[34mSELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1[0m
|
107
|
-
↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
|
108
|
-
[1m[35m (0.3ms)[0m [1m[35mBEGIN[0m
|
109
|
-
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
110
|
-
[1m[36mSendInfo Destroy (0.4ms)[0m [1m[31mDELETE FROM `send_infos` WHERE `send_infos`.`id` = 241[0m
|
111
|
-
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
112
|
-
[1m[35m (0.5ms)[0m [1m[35mCOMMIT[0m
|
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
コードの編集
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
コードの追加
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[35m (0.6ms)[0m [1m[35mSET 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[0m
|
2
コードの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,32 +52,18 @@
|
|
52
52
|
|
53
53
|
schedule.rb
|
54
54
|
```
|
55
|
-
|
55
|
+
# Rails.rootを使用するために必要。なぜなら、wheneverは読み込まれるときにrailsを起動する必要がある
|
56
|
-
desc "保存内容を一件ずつ送信"
|
57
|
-
|
56
|
+
require File.expand_path(File.dirname(__FILE__) + "/environment")
|
58
|
-
|
57
|
+
# cronを実行する環境変数
|
59
|
-
|
58
|
+
rails_env = ENV['RAILS_ENV'] || :development
|
59
|
+
# cronを実行する環境変数をセット
|
60
|
+
set :environment, rails_env
|
60
61
|
|
61
|
-
#ここから処理を書いていく
|
62
|
-
|
62
|
+
# cronのログの吐き出し場所。ここでエラー内容を確認する
|
63
|
-
config.consumer_key = ENV["TWITTER_CONSUMER_KEY"]
|
64
|
-
|
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
|
-
|
66
|
+
rake "minite_post:regularly_flag"
|
80
|
-
end
|
81
67
|
end
|
82
68
|
```
|
83
69
|
|
1
情報の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -81,8 +81,48 @@
|
|
81
81
|
end
|
82
82
|
```
|
83
83
|
|
84
|
+
ログ(単発実行時)
|
85
|
+
```
|
86
|
+
[1m[35m (0.6ms)[0m [1m[35mSET 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[0m
|
87
|
+
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
88
|
+
[1m[35m (0.2ms)[0m [1m[34mSELECT COUNT(*) FROM `send_infos`[0m
|
89
|
+
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
90
|
+
[1m[36mSendInfo Load (0.2ms)[0m [1m[34mSELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1[0m
|
91
|
+
↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
|
92
|
+
[1m[35m (0.3ms)[0m [1m[35mBEGIN[0m
|
93
|
+
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
94
|
+
[1m[36mSendInfo Destroy (0.5ms)[0m [1m[31mDELETE FROM `send_infos` WHERE `send_infos`.`id` = 246[0m
|
95
|
+
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
96
|
+
[1m[35m (1.3ms)[0m [1m[35mCOMMIT[0m
|
97
|
+
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
98
|
+
[1m[35m (0.4ms)[0m [1m[35mSET 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[0m
|
99
|
+
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
100
|
+
[1m[35m (0.3ms)[0m [1m[34mSELECT COUNT(*) FROM `send_infos`[0m
|
101
|
+
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
102
|
+
[1m[36mSendInfo Load (0.2ms)[0m [1m[34mSELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1[0m
|
103
|
+
↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
|
104
|
+
```
|
105
|
+
|
106
|
+
ログ(定期実行時)
|
107
|
+
```
|
108
|
+
[1m[35m (0.6ms)[0m [1m[35mSET 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[0m
|
109
|
+
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
110
|
+
[1m[35m (0.2ms)[0m [1m[34mSELECT COUNT(*) FROM `send_infos`[0m
|
111
|
+
↳ lib/tasks/run_regularly.rake:14:in `block (2 levels) in <main>'
|
112
|
+
[1m[36mSendInfo Load (0.2ms)[0m [1m[34mSELECT `send_infos`.* FROM `send_infos` ORDER BY `send_infos`.`id` ASC LIMIT 1[0m
|
113
|
+
↳ lib/tasks/run_regularly.rake:15:in `block (2 levels) in <main>'
|
114
|
+
[1m[35m (0.3ms)[0m [1m[35mBEGIN[0m
|
115
|
+
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
116
|
+
[1m[36mSendInfo Destroy (0.4ms)[0m [1m[31mDELETE FROM `send_infos` WHERE `send_infos`.`id` = 241[0m
|
117
|
+
↳ lib/tasks/run_regularly.rake:21:in `block (2 levels) in <main>'
|
118
|
+
[1m[35m (0.5ms)[0m [1m[35mCOMMIT[0m
|
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)
|