# Rubygems: Too Many Requests problem returns!

**URL:** https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499
**Category:** Support
**Created:** [November 21, 2018, 10:33pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499 "2018-11-21T22:33:57Z")
**Posts on this page:** 19
**Page:** 1

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [November 21, 2018, 10:33pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/1 "2018-11-21T22:33:57Z")

</div>

I’ve got a couple builds failing due to rubygem rate limiting. (One at Digital Ocean, another at a COLO outside Boston).

I thought that there was a recent update to the base Docker image that was supposed to mitigate this. It’s hard to find the error in the output too, since lots of stuff happens after those errors.

If you have a build that failed, you might search for “429 Too Many Requests”.

A year ago, the answer was:

> [@Update failing due to rate limiting by RubyGems](https://meta.discourse.org/t/update-failing-due-to-rate-limiting-by-rubygems/64636/34):
>
> I conferred with the bundler folks about this issue and **they told me it was a known issue with older versions of bundler. If your users update their bundler version, the issue should go away.**
> 
> The errors are actually fastly throttling individual users, which as you might expect means that those versions of bundler are sending A LOT of requests.

Perhaps there has been a regression in `bundler`?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 21, 2018, 10:36pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/2 "2018-11-21T22:36:41Z")

</div>

We bumped the image quite recently … I think only 3 gems changed since the last base image.

[https://github.com/discourse/discourse/commits/master/Gemfile.lock](https://github.com/discourse/discourse/commits/master/Gemfile.lock)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [November 29, 2018, 10:03pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/3 "2018-11-29T22:03:31Z")

</div>

I’m still getting 218 requests. I commented out non-standard plugins. Then all plugins. I’ve done a `git pull` (which is superfluous given the number of builds I’ve attempted). It’s still doing 218 `HTTP GET`s.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 29, 2018, 10:07pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/4 "2018-11-29T22:07:00Z")

</div>

> [@pfaffman](#):
>
> It’s still doing 218 `HTTP GET` s.

To where 😊 what are the URLs, we need to figure out if this is just a general rubygems bug or this is legit discourse being out of data locally.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [November 29, 2018, 10:10pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/5 "2018-11-29T22:10:20Z")

</div>

```
grep "HTTP GET" /tmp/build.log >/tmp/requests

```

```plaintext
HTTP GET https://index.rubygems.org/versions
HTTP GET https://index.rubygems.org/info/crass
HTTP GET https://index.rubygems.org/info/mini_portile2
HTTP GET https://index.rubygems.org/info/activesupport
HTTP GET https://index.rubygems.org/info/builder
HTTP GET https://index.rubygems.org/info/actionmailer
HTTP GET https://index.rubygems.org/info/actionview
HTTP GET https://index.rubygems.org/info/concurrent-ruby
HTTP GET https://index.rubygems.org/info/i18n
HTTP GET https://index.rubygems.org/info/thread_safe
HTTP GET https://index.rubygems.org/info/minitest
HTTP GET https://index.rubygems.org/info/tzinfo
HTTP GET https://index.rubygems.org/info/erubi
HTTP GET https://index.rubygems.org/info/activejob
HTTP GET https://index.rubygems.org/info/nokogiri
HTTP GET https://index.rubygems.org/info/rails-dom-testing
HTTP GET https://index.rubygems.org/info/rails-html-sanitizer
HTTP GET https://index.rubygems.org/info/loofah
HTTP GET https://index.rubygems.org/info/rake
HTTP GET https://index.rubygems.org/info/rack
HTTP GET https://index.rubygems.org/info/mail
HTTP GET https://index.rubygems.org/info/rack-test
HTTP GET https://index.rubygems.org/info/globalid
HTTP GET https://index.rubygems.org/info/activemodel
HTTP GET https://index.rubygems.org/info/mini_mime
HTTP GET https://index.rubygems.org/info/actionpack
HTTP GET https://index.rubygems.org/info/active_model_serializers
HTTP GET https://index.rubygems.org/info/addressable
HTTP GET https://index.rubygems.org/info/activerecord
HTTP GET https://index.rubygems.org/info/public_suffix
HTTP GET https://index.rubygems.org/info/arel
HTTP GET https://index.rubygems.org/info/ast
HTTP GET https://index.rubygems.org/info/aws-eventstream
HTTP GET https://index.rubygems.org/info/aws-sigv4
HTTP GET https://index.rubygems.org/info/jmespath
HTTP GET https://index.rubygems.org/info/aws-sdk-core
HTTP GET https://index.rubygems.org/info/aws-partitions
HTTP GET https://index.rubygems.org/info/aws-sdk-kms
HTTP GET https://index.rubygems.org/info/aws-sdk-s3
HTTP GET https://index.rubygems.org/info/ember-source
HTTP GET https://index.rubygems.org/info/execjs
HTTP GET https://index.rubygems.org/info/msgpack
HTTP GET https://index.rubygems.org/info/bootsnap
HTTP GET https://index.rubygems.org/info/byebug
HTTP GET https://index.rubygems.org/info/barber
HTTP GET https://index.rubygems.org/info/claide
HTTP GET https://index.rubygems.org/info/certified
HTTP GET https://index.rubygems.org/info/colored2
HTTP GET https://index.rubygems.org/info/chunky_png
HTTP GET https://index.rubygems.org/info/nap
HTTP GET https://index.rubygems.org/info/cork
HTTP GET https://index.rubygems.org/info/open4
HTTP GET https://index.rubygems.org/info/claide-plugins
HTTP GET https://index.rubygems.org/info/connection_pool
HTTP GET https://index.rubygems.org/info/coderay
HTTP GET https://index.rubygems.org/info/safe_yaml
HTTP GET https://index.rubygems.org/info/multipart-post
HTTP GET https://index.rubygems.org/info/crack
HTTP GET https://index.rubygems.org/info/cppjieba_rb
HTTP GET https://index.rubygems.org/info/faraday
HTTP GET https://index.rubygems.org/info/git
HTTP GET https://index.rubygems.org/info/kramdown
HTTP GET https://index.rubygems.org/info/unicode-display_width
HTTP GET https://index.rubygems.org/info/faraday-http-cache
HTTP GET https://index.rubygems.org/info/terminal-table
HTTP GET https://index.rubygems.org/info/octokit
HTTP GET https://index.rubygems.org/info/sawyer
HTTP GET https://index.rubygems.org/info/no_proxy_fix
HTTP GET https://index.rubygems.org/info/danger
HTTP GET https://index.rubygems.org/info/diff-lcs
HTTP GET https://index.rubygems.org/info/exifr
HTTP GET https://index.rubygems.org/info/in_threads
HTTP GET https://index.rubygems.org/info/image_size
HTTP GET https://index.rubygems.org/info/progress
HTTP GET https://index.rubygems.org/info/fspath
HTTP GET https://index.rubygems.org/info/discourse_image_optim
HTTP GET https://index.rubygems.org/info/email_reply_trimmer
HTTP GET https://index.rubygems.org/info/ember-data-source
HTTP GET https://index.rubygems.org/info/sprockets
HTTP GET https://index.rubygems.org/info/ember-handlebars-template
HTTP GET https://index.rubygems.org/info/method_source
HTTP GET https://index.rubygems.org/info/railties
HTTP GET https://index.rubygems.org/info/thor
HTTP GET https://index.rubygems.org/info/jquery-rails
HTTP GET https://index.rubygems.org/info/excon
HTTP GET https://index.rubygems.org/info/fabrication
HTTP GET https://index.rubygems.org/info/ember-rails
HTTP GET https://index.rubygems.org/info/fakeweb
HTTP GET https://index.rubygems.org/info/fast_blank
HTTP GET https://index.rubygems.org/info/rake-compiler
HTTP GET https://index.rubygems.org/info/fast_xor
HTTP GET https://index.rubygems.org/info/fast_xs
HTTP GET https://index.rubygems.org/info/ffi
HTTP GET https://index.rubygems.org/info/fastimage
HTTP GET https://index.rubygems.org/info/flamegraph
HTTP GET https://index.rubygems.org/info/gc_tracer
HTTP GET https://index.rubygems.org/info/guess_html_encoding
HTTP GET https://index.rubygems.org/info/hashdiff
HTTP GET https://index.rubygems.org/info/hashie
HTTP GET https://index.rubygems.org/info/highline
HTTP GET https://index.rubygems.org/info/hiredis
HTTP GET https://index.rubygems.org/info/hkdf
HTTP GET https://index.rubygems.org/info/htmlentities
HTTP GET https://index.rubygems.org/info/kgio
HTTP GET https://index.rubygems.org/info/jaro_winkler
HTTP GET https://index.rubygems.org/info/jwt
HTTP GET https://index.rubygems.org/info/http_accept_language
HTTP GET https://index.rubygems.org/info/libv8
HTTP GET https://index.rubygems.org/info/rb-fsevent
HTTP GET https://index.rubygems.org/info/rb-inotify
HTTP GET https://index.rubygems.org/info/ruby_dep
HTTP GET https://index.rubygems.org/info/listen
HTTP GET https://index.rubygems.org/info/request_store
HTTP GET https://index.rubygems.org/info/logstash-event
HTTP GET https://index.rubygems.org/info/lograge
HTTP GET https://index.rubygems.org/info/logstash-logger
HTTP GET https://index.rubygems.org/info/logster
HTTP GET https://index.rubygems.org/info/lru_redux
HTTP GET https://index.rubygems.org/info/maxminddb
HTTP GET https://index.rubygems.org/info/memory_profiler
HTTP GET https://index.rubygems.org/info/message_bus
HTTP GET https://index.rubygems.org/info/mini_racer
HTTP GET https://index.rubygems.org/info/metaclass
HTTP GET https://index.rubygems.org/info/mini_scheduler
HTTP GET https://index.rubygems.org/info/mini_sql
HTTP GET https://index.rubygems.org/info/mini_suffix
HTTP GET https://index.rubygems.org/info/mocha
HTTP GET https://index.rubygems.org/info/mock_redis
HTTP GET https://index.rubygems.org/info/moneta
HTTP GET https://index.rubygems.org/info/multi_json
HTTP GET https://index.rubygems.org/info/multi_xml
HTTP GET https://index.rubygems.org/info/mustache
HTTP GET https://index.rubygems.org/info/nokogumbo
HTTP GET https://index.rubygems.org/info/oauth
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=actionmailer%2Cactionpack%2Cactionview%2Cactive_model_serializers%2Cactivejob%2Cactivemodel%2Cactiverecord%2Cactivesupport%2Caddressable%2Carel%2Cast%2Caws-eventstream%2Caws-partitions%2Caws-sdk-core%2Caws-sdk-kms%2Caws-sdk-s3%2Caws-sigv4%2Cbarber%2Cbootsnap%2Cbuilder%2Cbyebug%2Ccertified%2Cchunky_png%2Cclaide%2Ccolored2%2Cconcurrent-ruby%2Ccork%2Ccrass%2Cember-source%2Cerubi%2Cexecjs%2Cglobalid%2Ci18n%2Cjmespath%2Cloofah%2Cmail%2Cmini_mime%2Cmini_portile2%2Cminitest%2Cmsgpack%2Cnap%2Cnokogiri%2Cpublic_suffix%2Crack%2Crack-test%2Crails-dom-testing%2Crails-html-sanitizer%2Crake%2Cthread_safe%2Ctzinfo
HTTP GET https://index.rubygems.org/info/oauth2
HTTP GET https://index.rubygems.org/info/oj
HTTP GET https://index.rubygems.org/info/omniauth
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=claide-plugins%2Ccoderay%2Cconnection_pool%2Ccppjieba_rb%2Ccrack%2Cdanger%2Cdiff-lcs%2Cdiscourse_image_optim%2Cemail_reply_trimmer%2Cember-data-source%2Cember-handlebars-template%2Cember-rails%2Cexcon%2Cexifr%2Cfabrication%2Cfakeweb%2Cfaraday%2Cfaraday-http-cache%2Cfast_blank%2Cfast_xor%2Cfast_xs%2Cfastimage%2Cffi%2Cflamegraph%2Cfspath%2Cgc_tracer%2Cgit%2Cguess_html_encoding%2Chashdiff%2Chashie%2Chighline%2Chiredis%2Cimage_size%2Cin_threads%2Cjquery-rails%2Ckramdown%2Cmethod_source%2Cmultipart-post%2Cno_proxy_fix%2Coctokit%2Copen4%2Cprogress%2Crailties%2Crake-compiler%2Csafe_yaml%2Csawyer%2Csprockets%2Cterminal-table%2Cthor%2Cunicode-display_width
HTTP GET https://index.rubygems.org/info/omniauth-oauth2
HTTP GET https://index.rubygems.org/info/omniauth-facebook
HTTP GET https://index.rubygems.org/info/omniauth-github
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=hkdf%2Chtmlentities%2Chttp_accept_language%2Cjaro_winkler%2Cjwt%2Ckgio%2Clibv8%2Clisten%2Clograge%2Clogstash-event%2Clogstash-logger%2Clogster%2Clru_redux%2Cmaxminddb%2Cmemory_profiler%2Cmessage_bus%2Cmetaclass%2Cmini_racer%2Cmini_scheduler%2Cmini_sql%2Cmini_suffix%2Cmocha%2Cmock_redis%2Cmoneta%2Cmulti_json%2Cmulti_xml%2Cmustache%2Cnokogumbo%2Coauth%2Coauth2%2Coj%2Comniauth%2Comniauth-facebook%2Comniauth-github%2Comniauth-google-oauth2%2Comniauth-instagram%2Comniauth-oauth%2Comniauth-oauth2%2Comniauth-openid%2Comniauth-twitter%2Conebox%2Copenid-redis-store%2Crack-openid%2Crb-fsevent%2Crb-inotify%2Credis%2Crequest_store%2Cruby-openid%2Cruby_dep%2Csanitize
HTTP GET https://index.rubygems.org/info/omniauth-google-oauth2
HTTP GET https://index.rubygems.org/info/omniauth-instagram
HTTP GET https://index.rubygems.org/info/ruby-openid
HTTP GET https://index.rubygems.org/info/omniauth-oauth
HTTP GET https://index.rubygems.org/info/rack-openid
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=parallel%2Cparser%2Cpg%2Cpowerpack%2Cpry%2Cpry-nav%2Cpry-rails%2Cpuma%2Cr2%2Crack-mini-profiler%2Crack-protection%2Crails_multisite%2Crainbow%2Craindrops%2Crbtrace%2Crchardet%2Credis-namespace%2Crinku%2Crotp%2Crqrcode%2Crspec%2Crspec-core%2Crspec-expectations%2Crspec-html-matchers%2Crspec-mocks%2Crspec-rails%2Crspec-support%2Crtlit%2Crubocop%2Cruby-progressbar%2Cruby-readability%2Csass%2Csass-listen%2Csassc%2Cseed-fu%2Cshoulda%2Cshoulda-context%2Cshoulda-matchers%2Csidekiq%2Cslop%2Csprockets-rails%2Csshkey%2Cstackprof%2Ctilt%2Ctrollop%2Cuglifier%2Cunf%2Cunf_ext%2Cunicorn%2Cwebmock
HTTP GET https://index.rubygems.org/info/omniauth-openid
HTTP GET https://index.rubygems.org/info/omniauth-twitter
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=webpush
HTTP GET https://index.rubygems.org/info/sanitize
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=active-model-adapter-source%2Cactivemodel-globalid%2Cactiverecord-deprecated_finders%2Catomic%2Cbcrypt-ruby%2Cbones%2Ccamping%2Ccase_transform%2Ccolored%2Ccolumnize%2Cdebugger-linecache%2Cember-cli-assets%2Cember-es6_template%2Cember-template-compiler-source%2Cerubis%2Cfcgi%2Cfunctional-ruby%2Cgitlab%2Cgrit%2Chandlebars-source%2Choe%2Cjamespath%2Cjourney%2Cjson%2Cjson_pure%2Cjsonapi%2Cjsonapi-renderer%2Claunchy%2Cmemcache-client%2Cmime-types%2Cmini_portile%2Cmongrel%2Cpkg-config%2Cracc%2Crack-cache%2Crack-mount%2Crails-deprecated_sanitizer%2Crb-readline%2Crcov%2Credcarpet%2Cref%2Crexical%2Csnappy%2Ctenderlove-frex%2Ctest-spec%2Ctext-format%2Cthin%2Ctlsmail%2Ctreetop%2Cweakling
HTTP GET https://index.rubygems.org/info/onebox
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=base32%2Ccelluloid%2Ccelluloid-io%2Ccucumber%2Cescape_utils%2Ceventmachine%2Cfaraday-middleware%2Cfaraday_middleware%2Cfast_stack%2Cffi-xattr%2Chexpress%2Chike%2Chpricot%2Chttpauth%2Cnetrc%2Cnewgem%2Coa-basic%2Coa-core%2Coa-enterprise%2Coa-more%2Coa-oauth%2Coa-openid%2Copengraph_parser%2Coptimist%2Cpdf-reader%2Cpry-doc%2Cpsych%2Crack-ssl%2Crails%2Crash%2Crb-appscript%2Crb-fchange%2Crb-kqueue%2Crdoc%2Cruby-hmac%2Cruby-yadis%2Cruby_parser%2Csexp_processor%2Cspicycode-rcov%2Cspoon%2Cstud%2Csyntax%2Ctermios%2Curi_template%2Cverbal_expressions%2Cwebrat%2Cwin32console%2Cxattr%2Cyajl-ruby%2Cyard
HTTP GET https://index.rubygems.org/info/redis
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=astrolabe%2Cbackports%2Cbourne%2Cbundler%2Ccompass%2Ccurses%2Crspec-collection_matchers%2Csinatra%2Cslim%2Csprockets-sass%2Cterm-ansicolor%2Ctherubyracer%2Ctins
HTTP GET https://index.rubygems.org/info/openid-redis-store
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=RubyInline%2CZenTest%2Cabstract%2Carchive-tar-minitar%2Cbabel-transpiler%2Cbcrypt%2Cbones-extras%2Cbones-git%2Ccelluloid-essentials%2Ccelluloid-extras%2Ccelluloid-fsm%2Ccelluloid-pool%2Ccelluloid-supervision%2Ccgi_multipart_eof_fix%2Cconfiguration%2Ccucumber-wire%2Cdaemons%2Cdebugger-ruby_core_source%2Cdotenv%2Ceventmachine-le%2Cfacets%2Cfacter%2Cfastthread%2Cflexmock%2Cgem_plugin%2Cgemcutter%2Cgherkin%2Chttp_parser.rb%2Chttparty%2Cjsonapi-parser%2Clittle-plugger%2Cloquacious%2Cmab%2Cmarkaby%2Cmetaid%2Cmime-types-data%2Cmulti_test%2Cmultimap%2Cnenv%2Cnio4r%2Cpolyglot%2Cposix-spawn%2Cpreforker%2Crspec-logsplit%2Cruby_core_source%2Crubyforge%2Csnappy-jars%2Cspruz%2Ctext-hyphen%2Ctimers
HTTP GET https://index.rubygems.org/info/parser
HTTP GET https://index.rubygems.org/info/parallel
HTTP GET https://index.rubygems.org/info/pg
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=Ascii85%2CParseTree%2CRedCloth%2CXMLCanonicalizer%2Cactioncable%2Cactionwebservice%2Cactiveresource%2Cactivestorage%2Cafm%2Ccompass-core%2Ccompass-import-once%2Ccucumber-core%2Ccucumber-expressions%2Ccucumber-formatter-dots%2Cevent-bus%2Cfssm%2Cgherkin3%2Chaml%2Chashery%2Cjar-dependencies%2Cmetriks%2Cmustermann%2Cnet-ldap%2Cpyu-ruby-sasl%2Crest-client%2Crestclient%2Croauth%2Crubigen%2Cruby-openid-apps-discovery%2Cruby-rc4%2Crubyntlm%2Cshotgun%2Csprockets-helpers%2Ctemple%2Cttfunk%2Cuuid%2Cwin32-api
HTTP GET https://index.rubygems.org/info/powerpack
HTTP GET https://index.rubygems.org/info/slop
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=CFPropertyList%2CSexpProcessor%2Cactivemodel-serializers-xml%2Cavl_tree%2Cbabel-source%2Cblankslate%2Cbones-rcov%2Cbones-rspec%2Cbones-rubyforge%2Cbones-zentest%2Cc21e%2Ccelluloid-gems%2Ccoffee-rails%2Ccoveralls%2Ccucumber-messages%2Ccucumber-tag_expressions%2Cdotenv-deployment%2Cechoe%2Cem-hiredis%2Cfaye-websocket%2Chitimes%2Chttp-accept%2Chttp-cookie%2Cjnunemaker-crack%2Clog4r%2Cmacaddr%2Cmarcel%2Cmaruku%2Cminitar%2Cminitar-cli%2Cnet-scp%2Cos%2Crails-observers%2Crbtree%2Cruby-maven%2Csys-admin%2Ctest-unit%2Cthoughtbot-shoulda%2Ctool%2Cwebsocket-driver%2Cwin32-dir%2Cwin32-security%2Cwindows-api%2Cwindows-pr
HTTP GET https://index.rubygems.org/info/pry
HTTP GET https://index.rubygems.org/info/pry-nav
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=allison%2Ccoffee-script%2Ccolorize%2Cdomain_name%2Cffi-win32-extensions%2Cgoogle-protobuf%2Clibxml-ruby%2Cmaven-tools%2Cmimemagic%2Cmkrf%2Cnet-ssh%2Cpower_assert%2Cpowerbar%2Cruby-maven-libs%2Csimplecov%2Csqlite3%2Csystemu%2Cwebsocket-extensions
HTTP GET https://index.rubygems.org/info/pry-rails
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=ansi%2Cbcrypt_pbkdf%2Ccoffee-script-source%2Cdocile%2Cjruby-pageant%2Clockfile%2Cneedle%2Cpattern-match%2Crbnacl%2Crbnacl-libsodium%2Csimplecov-html%2Cvirtus
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=axiom-types%2Ccoercible%2Cdescendants_tracker%2Cequalizer
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=adamantium%2Cice_nine
HTTP GET https://index.rubygems.org/api/v1/dependencies?gems=memoizable
HTTP GET https://index.rubygems.org/info/rack-mini-profiler
HTTP GET https://index.rubygems.org/info/puma
HTTP GET https://index.rubygems.org/info/rack-protection
HTTP GET https://index.rubygems.org/info/raindrops
HTTP GET https://index.rubygems.org/info/rbtrace
HTTP GET https://index.rubygems.org/info/rainbow
HTTP GET https://index.rubygems.org/info/rchardet
HTTP GET https://index.rubygems.org/info/r2
HTTP GET https://index.rubygems.org/info/redis-namespace
HTTP GET https://index.rubygems.org/info/rinku
HTTP GET https://index.rubygems.org/info/trollop
HTTP GET https://index.rubygems.org/info/rqrcode
HTTP GET https://index.rubygems.org/info/rails_multisite
HTTP GET https://index.rubygems.org/info/rotp
HTTP GET https://index.rubygems.org/info/rspec-support
HTTP GET https://index.rubygems.org/info/rspec-core
HTTP GET https://index.rubygems.org/info/rspec-mocks
HTTP GET https://index.rubygems.org/info/rspec-expectations
HTTP GET https://index.rubygems.org/info/rspec
HTTP GET https://index.rubygems.org/info/rspec-html-matchers
HTTP GET https://index.rubygems.org/info/rspec-rails
HTTP GET https://index.rubygems.org/info/rtlit
HTTP GET https://index.rubygems.org/info/ruby-progressbar
HTTP GET https://index.rubygems.org/info/rubocop
HTTP GET https://index.rubygems.org/info/ruby-readability
HTTP GET https://index.rubygems.org/info/sass
HTTP GET https://index.rubygems.org/info/sass-listen
HTTP GET https://index.rubygems.org/info/sassc
HTTP GET https://index.rubygems.org/info/seed-fu
HTTP GET https://index.rubygems.org/info/shoulda-context
HTTP GET https://index.rubygems.org/info/shoulda-matchers
HTTP GET https://index.rubygems.org/info/shoulda
HTTP GET https://index.rubygems.org/info/sidekiq
HTTP GET https://index.rubygems.org/info/sshkey
HTTP GET https://index.rubygems.org/info/sprockets-rails
HTTP GET https://index.rubygems.org/info/tilt
HTTP GET https://index.rubygems.org/info/stackprof
HTTP GET https://index.rubygems.org/info/uglifier
HTTP GET https://index.rubygems.org/info/unf_ext
HTTP GET https://index.rubygems.org/info/unf
HTTP GET https://index.rubygems.org/info/unicorn
HTTP GET https://index.rubygems.org/info/webmock
HTTP GET https://index.rubygems.org/info/webpush

```

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 29, 2018, 10:32pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/6 "2018-11-29T22:32:17Z")

</div>

Yeah I don’t think there is anything we can do here, maybe @indirect has some tips here. I definitely don’t want to be hammering rubygems, but we got to do a `bundle` on bootstrap.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [November 29, 2018, 10:34pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/7 "2018-11-29T22:34:36Z")

</div>

Is there an easy way to put a proxy in the middle and/or put some delay between the requests? Do you guys get all your stuff directly from rubygems?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 29, 2018, 10:39pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/8 "2018-11-29T22:39:31Z")

</div>

I think to get into rubygems bad books you need to be mega offensive, we only bootstrap once for our internal deploys and reuse a base image so we never hit this.

---

<div class="post-metadata">

### Author: ![indirect](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/indirect/32/116192_2.png) [@indirect](https://meta.discourse.org/u/indirect)
#### Post date: [November 29, 2018, 11:04pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/9 "2018-11-29T23:04:28Z")

</div>

Just to be super clear: those 255 requests are completely normal and correct, and I have never heard of anyone getting 429 rate limited for that kind of install. Our rate limits kick in for hundreds or thousands of requests per second for hours or days. If you think you’ve been wrongly rate limited, open a ticket at [Sign in to GitHub · GitHub](http://github.com/rubygems/rubygems.org/issues/new) and someone from the [rg.org](http://rg.org) team will take a look.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [November 29, 2018, 11:26pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/10 "2018-11-29T23:26:27Z")

</div>

Thanks, @indirect. I have done lots of rebuilds on this machine, but only a couple hundred requests per manually started build (which look normal and expected to both you and me).

Could some bad actor on the same network be the problem? (I know that I had this problem on another machine, but I can’t remember now where that machine was).

Here are the 429s I got on that same build:

```plaintext
HTTP 429 Too Many Requests https://index.rubygems.org/info/fast_blank
HTTP 429 Too Many Requests https://index.rubygems.org/info/ember-rails
HTTP 429 Too Many Requests https://index.rubygems.org/info/message_bus
HTTP 429 Too Many Requests https://index.rubygems.org/info/maxminddb
HTTP 429 Too Many Requests https://index.rubygems.org/info/mock_redis
HTTP 429 Too Many Requests https://index.rubygems.org/info/mini_scheduler
HTTP 429 Too Many Requests https://index.rubygems.org/info/oauth
HTTP 429 Too Many Requests https://index.rubygems.org/info/omniauth-instagram
HTTP 429 Too Many Requests https://index.rubygems.org/info/rack-openid
HTTP 429 Too Many Requests https://index.rubygems.org/info/omniauth-openid
HTTP 429 Too Many Requests https://index.rubygems.org/info/openid-redis-store
HTTP 429 Too Many Requests https://index.rubygems.org/info/parser
HTTP 429 Too Many Requests https://index.rubygems.org/info/email_reply_trimmer
HTTP 429 Too Many Requests https://index.rubygems.org/info/htmlentities
HTTP 429 Too Many Requests https://index.rubygems.org/info/guess_html_encoding
HTTP 429 Too Many Requests https://index.rubygems.org/info/logster
HTTP 429 Too Many Requests https://index.rubygems.org/info/http_accept_language
HTTP 429 Too Many Requests https://index.rubygems.org/info/memory_profiler
HTTP 429 Too Many Requests https://index.rubygems.org/info/mocha
HTTP 429 Too Many Requests https://index.rubygems.org/info/omniauth-github
HTTP 429 Too Many Requests https://index.rubygems.org/info/ember-data-source
HTTP 429 Too Many Requests https://index.rubygems.org/info/fast_xs
HTTP 429 Too Many Requests https://index.rubygems.org/info/moneta
HTTP 429 Too Many Requests https://index.rubygems.org/info/omniauth-oauth
HTTP 429 Too Many Requests https://index.rubygems.org/info/mustache
HTTP 429 Too Many Requests https://index.rubygems.org/info/rinku
HTTP 429 Too Many Requests https://index.rubygems.org/info/sassc
HTTP 429 Too Many Requests https://index.rubygems.org/info/rtlit
HTTP 429 Too Many Requests https://index.rubygems.org/info/ruby-readability
HTTP 429 Too Many Requests https://index.rubygems.org/info/seed-fu
HTTP 429 Too Many Requests https://index.rubygems.org/info/shoulda-context
HTTP 429 Too Many Requests https://index.rubygems.org/info/shoulda-matchers
HTTP 429 Too Many Requests https://index.rubygems.org/info/webpush
HTTP 429 Too Many Requests https://index.rubygems.org/info/webmock

```

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 29, 2018, 11:28pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/11 "2018-11-29T23:28:40Z")

</div>

You got to open a ticket on GitHub with RubyGems, its kind of a waste to do any more diagnostics here.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [November 30, 2018, 4:15pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/12 "2018-11-30T16:15:49Z")

</div>

> [@sam](#):
>
> You got to open a ticket on GitHub with RubyGems,

Well, that wasn’t as helpful as we might have liked.

> [@](#):
>
> _Note: This is probably better for [http://help.rubygems.org/](http://help.rubygems.org/)_
> 
> If you are installing gems, there should be no reason to hit the rate limits unless you are using old version of bundler that does not use the newest APIs. All requests using the new APIs are cached at the CDN and should not hit the rate limits.

Well, I tried building it on another machine on the same subnet and it failed too.

I don’t see any way that I could be using the old bundler, as I’m pulling the current Discourse image from Docker, right?

I’m pretty perplexed. I’ll see if I can find the other instance that was failing.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 30, 2018, 7:02pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/13 "2018-11-30T19:02:27Z")

</div>

I am confused, can you link me to the issue you opened?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [November 30, 2018, 7:04pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/14 "2018-11-30T19:04:24Z")

</div>

[https://github.com/rubygems/rubygems.org/issues/1841#issuecomment-443191752](https://github.com/rubygems/rubygems.org/issues/1841#issuecomment-443191752)

---

<div class="post-metadata">

### Author: ![fuerst](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fuerst/32/120729_2.png) [@fuerst](https://meta.discourse.org/u/fuerst)
#### Post date: [December 9, 2018, 10:33am UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/15 "2018-12-09T10:33:05Z")

</div>

I got around this problem by temporary limiting the server’s bandwidth using [wondershaper](https://github.com/magnific0/wondershaper). This is just a shell script which simplifies handling of iproute’s `tc` command.

Example at Ubuntu 18.04: limit bandwidth to ancient 2048 kBit download and 512 kBit upload like this:

```plaintext
wondershaper -a eth0 -d 2048 -u 512

```

Don’t forget to reset it after successfully bootstrapping Discourse:

```plaintext
wondershaper -c -a eth0

```

You just need the shell script `wondershaper` by the way. No need to install any service.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [December 10, 2018, 1:22pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/16 "2018-12-10T13:22:43Z")

</div>

Well, now they say they fixed a problem.

At [trouble with rate limits · Issue #1841 · rubygems/rubygems.org · GitHub](https://github.com/rubygems/rubygems.org/issues/1841#issuecomment-445787812)

> [@](#):
>
> I fixed a problem with bundler and rate limits in [bundler/bundler#6728](https://github.com/bundler/bundler/pull/6728), but it has not yet been merged.

---

<div class="post-metadata">

### Author: ![TitinDev](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/titindev/32/131967_2.png) [@TitinDev](https://meta.discourse.org/u/TitinDev)
#### Post date: [February 20, 2019, 1:58pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/17 "2019-02-20T13:58:53Z")

</div>

Hi,

To correct the problem I used 2 options:

- Set up a cache with gemirro ([GitHub - PierreRambaud/gemirro: Gem to automatically make a rubygems mirror. · GitHub](https://github.com/PierreRambaud/gemirro)) then overloaded templates / web.template.yml with a

- Or in templates / web.template.yml modified the number of jobs at the ‘bundle install’

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [March 17, 2022, 12:29pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/18 "2022-03-17T12:29:55Z")

</div>



---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [March 17, 2022, 1:23pm UTC](https://meta.discourse.org/t/rubygems-too-many-requests-problem-returns/102499/19 "2022-03-17T13:23:18Z")

</div>


