数日前から、Heroku の Twitter から「実行期限切れ」エラーを受け取りました。開発中はこのエラーは発生しませんが、Heroku にデプロイすると常に発生します。
他の人もこの問題を抱えているようです。Twitter gem でこのバグ レポートを参照してください: https://github.com/sferik/twitter/issues/401#issuecomment-21614751
(ただし、Heroku 固有のように見えるので、実際には Twitter gem のバグではないと思いますが...)
この問題を解決する方法と、なぜそれが起こっているのですか?
Stacktrace (most recent call first):
Twitter::Error::ClientError: execution expired
net/http.rb in initialize at line 878
File "net/http.rb", line 878, in initialize
TCPSocket.open(conn_address, conn_port, @local_host, @local_port)
File "net/http.rb", line 878, in open
TCPSocket.open(conn_address, conn_port, @local_host, @local_port)
File "net/http.rb", line 878, in block in connect
TCPSocket.open(conn_address, conn_port, @local_host, @local_port)
File "net/http.rb", line 877, in connect
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) {
File "net/http.rb", line 862, in do_start
connect
File "net/http.rb", line 851, in start
do_start
File "net/http.rb", line 1367, in request
start {
File "new_relic/agent/instrumentation/net.rb", line 33, in request_with_newrelic_trace
request_without_newrelic_trace( request, *args, &block )
File "faraday/adapter/net_http.rb", line 75, in perform_request
http.request create_request(env)
File "faraday/adapter/net_http.rb", line 38, in call
http_response = perform_request(http, env)
File "faraday/response.rb", line 8, in call
@app.call(env).on_complete do |environment|
File "faraday/response.rb", line 8, in call
@app.call(env).on_complete do |environment|
File "faraday/response.rb", line 8, in call
@app.call(env).on_complete do |environment|
File "faraday/request/url_encoded.rb", line 14, in call
@app.call env
File "faraday/request/multipart.rb", line 13, in call
@app.call env
File "twitter/request/multipart_with_file.rb", line 14, in call
@app.call(env)
File "faraday/connection.rb", line 247, in run_request
self.app.call(env)
File "faraday/connection.rb", line 112, in post
run_request(:#{method}, url, body, headers, &block)
File "twitter/client.rb", line 108, in request
connection.send(method.to_sym, path, params, &request_setup).env
File "twitter/client.rb", line 72, in post
request(:post, path, params, signature_params)
File "twitter/api/utils.rb", line 51, in objects_from_response
response = send(request_method.to_sym, path, options)[:body]
File "twitter/api/users.rb", line 260, in block in users
objects_from_response(Twitter::User, method, "/1.1/users/lookup.json", merge_users(arguments.options, users))
File "twitter/core_ext/enumerable.rb", line 5, in block (2 levels) in threaded_map
Thread.new { yield object }