title: Receiving "execution expired" errors on Twitter from Heroku
body: <p>Starting a few days ago, I have been receiving "execution expired" errors from Twitter on Heroku. I don't receive this error in development, but when I deploy to Heroku I get it all the time.</p>
  
  <p>It seems like other people are having this issue as well. See this bug report on the Twitter gem: <a href="https://github.com/sferik/twitter/issues/401#issuecomment-21614751">https://github.com/sferik/twitter/issues/401#issuecomment-21614751</a></p>
  
  <p>(although I don't think it's actually a bug with the Twitter gem as it seems Heroku-specific...)</p>
  
  <p>Any idea how to solve this issue and why it is happening?</p>
  
  <pre><code>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, &amp;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, &amp;block)
    File "twitter/client.rb", line 108, in request
      connection.send(method.to_sym, path, params, &amp;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 }
  </code></pre>