Cannot update - Rate limit exceeded

What is the problem?

I have 3 pi 4 2gb models running for my 3 printers I have. 2 of the three update just fine but one does not seem to update anymore. They are all running identical images and I have kept things updated. This behavior started for the one within the last week or two. When I look at the Software Update in settings some but not all plugins indicate in red " Rate limit exceeded while checking for update, please try again later". I try again later and I get the same error. There is no issue using the octoprint set-up with my printer just cannot update the one.

What did you already try to solve it?

I tried a complete shut down and restart, no issues with power delivery that I see.

Have you tried running in safe mode?

No I have not.

Did running in safe mode solve the problem?

NA

Complete Logs

octoprint.log, serial.log or output on terminal tab at a minimum, browser error console if UI issue ... no logs, no support! Not log excerpts, complete logs.)
octoprint.log (66.0 KB)
WRITE HERE

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible
Running OctoPrint 1.5.3. Most plugin's are updated routinely except for 1 or 2 that won't update now since it does not see them as needing an update even though I know is it an older version.

WRITE HERE

Additional information:

  • I SSH'ed into the PI and was able to ping Google and plugins.octoprint.org

  • The time appears to be correct.

  • The PI appears connected to the internet. It passes the the "Test host & port" section

  • Only a handful of plugins appear to be effected or give the rate limit message.

To be clear this PI is plugged into Ethernet and not using WIFI.

GITHUB only allows a specific amount of queries per hour from any IP address. so your external IP (Cable co. assigned to the router) is what it sees. if more than a specific number of requests are made, you will get that message and usually have to wait 60-90 minutes to check again. If you have a ton of plugins, you could see that before it finishes all of them.
Not an octoprint issue, but just the way GITHUB is set up

1 Like

and the code for the plugins is all served up by GITHUB

Thanks for the reply. Why would this not be an issue before then? It seems is just started recently. Did they change something?

The other two pi's with the same octoprint image don't have this issue and they would be on the same IP. Why wouldn't I get that message for those two and only on select plugins? How can I adjust it so it will check less often or only when I tell it to?

Sorry for all the questions just trying to process this and problem solve the issue.

Here is a picture of the Software update section:

If the other 2 are checking for updates, and say they each have 12 plugins each, and the pi with the issue is checking last, by the time the new pi checks it's already had 24 queries before it gets to the last one. (One query for each plugin) so if it allows 34 queries in an hour, then 10 will check good and the last 2 will give you the error message. I believe you can set update frequency under updates

I will play around with that but it had been working fine for months with no issues. I just saw advanced option in the bottom of the software update section and told it to force check for updates and it worked. I will need to see if it continue to function. Maybe the cache was messed up?

You can add a personal API key for your own github account in config.yaml to try and increate the limits.

plugins:
  softwareupdate:
    # global credentials to provide to version checks
    credentials:

      # GitHub API token to use for the github_release and github_commit version checks.
      # Helpful if you regularly run into rate limit issues with the GitHub API using
      # the default anonymous access. Use a personal access token:
      #   https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token
      # Unset by default
      github:

excerpt from full documentation here.

1 Like

Thanks Jneilliii, I will have to look into setting that up.

most likely it had automatically checked within the last hour, and forcing the updated just added up to max queries exceeded before it checked all the plugins

To answer this - the update check previously failed silently, as of 1.5.0 there's a warning in the UI. The rate limit is 60 requests per hour, which can be easily exceeded since each plugin and OctoPrint itself uses at least one request.

1 Like

Thanks Charlie, that makes sense. I have looked at how I can add the API key for github. I am trying to figure it out but is there a tutorial somewhere on how to do this to prevent this rate limited error from happening? It sounds like you can increase the checks using this method?

Is is possible to get an example of what I need to add to the config.yaml file? It sounds like I get a key from github and enter it in somehow?

You'll need a token from the link above, https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token then find and edit config.yaml to add the section above.

I was going to suggest using the config CLI but due to a bug that's currently broken.

So you have to find the config.yaml file, open it up and find the plugins section, and then the softwareupdate section. You will have to create the credentials section, then add your token. The example given above should be enough, there's probably a bunch of other plugins settings in there so you probably will have to do some digging. Be sure to use 4 spaces to indent, not tabs.

1 Like

So in this example from Jneilliii I would simply add my API token after the 'github:' entry? Is there some specific way I need to type the key in or just enter it in after the entry?

For Example:
github: githubAPIkeyhere

Also to edit the config.yaml file I simply need to enter 'sudo config.yaml'?

Correct on the first bit, don't use sudo to open the file - you'll break the permissions. Just run nano ~/.octoprint/config.yaml

Thanks again! Is that the correct directory you have listed or will I need to figure out where it is? :slight_smile:

~/.octoprint/config.yaml should be where it is, that's the default home. So it would be somewhere else unless you changed it, which you'd know.

So I guess I did something wrong.
This is what I have:
Capture2

Now Octoprint won't launch.

Is it in the right area? I had to space out 8-12 spaces to line it up. Also credentials would be my user name on github correct?

It should be

    softwareupdate:
        credentials:
            github: <your github personal access token goes here>

Your token IS your whole credentials.

Thank you Foosel, Charlie, jneillii and 5ft24!

I believe it is finally working. At least Octoprint boots now with the proper formatting.

1 Like