anuraghazra / github-readme-stats

:zap: Dynamically generated stats for your github readmes
https://github-readme-stats.vercel.app
MIT License
66.51k stars 21.56k forks source link

[Down Time] Card throws 'maximum retries exceeded' error #1471

Open anuraghazra opened 2 years ago

anuraghazra commented 2 years ago

Hi everyone, I see that all personal access tokens are currently failing, thus you will see the "Maximum retries exceeded" error.

I'm looking into the issue to figure out what caused it.

Ideally, it should be fixed in an hour when the PATs get rest.

Details

Public instance information

Custom badge

Explanation


Hey everyone, sorry for the recent downtimes.

For the sake of transparency, we get a huge amount of requests per month (it's kind of mind boggling for a side project which I built just for fun). Here's the vercel dashboard statistics:

image

As you can see even with 73% of the responses being cached by vercel the amount of live requests are huge, and the bottleneck here is Personal Access Tokens

Each PAT have 5000 points, and based on the complexity of the GraphQL query & resource limitations set by GitHub, it's actually very very low considering that amount of requests.

To circumvent the issue, we currently have 7 PATs (thats 35k points) which sometimes get exhausted. Thanks to @rickstaa we are going to add few more probably bumping it up to 10 or 12, hopefully that could help alleviate the downtimes.

Note: That these downtimes are temporary, and only lasts for 1hour, since PATs regenerate after 1 hour


So whats the idea way?

https://github.com/anuraghazra/github-readme-stats/issues/1471#issuecomment-979306704 Deploy on your own vercel instance. WHY? It's easy to do, free & reliable.

Originally posted by @anuraghazra in https://github.com/anuraghazra/github-readme-stats/issues/2130#issuecomment-1270624232

jincheng9 commented 2 years ago

@anuraghazra hi, the access is still down. Do we have an expected time to fix it?

jincheng9 commented 2 years ago

Now it's fine. Thanks.

GabrielMendesdc commented 2 years ago

Here still out, i need do something?

Ari24-cb24 commented 2 years ago

Same here, any known fix to this?

devmohit-live commented 2 years ago

Never imagined that my profile would be that much dependent on the GitHub stats , 😁. Hope that will be done soon, nice work man.

anuraghazra commented 2 years ago

Hi everyone.

Sorry for the inconvenience. I will highly recommend deploying github-readme-stats on your own vercel instance to fix this issue, while I try to find a fix. Currently I'm unable to find any root cause.

Consider deploying on your own fork. follow the guide -> https://github.com/anuraghazra/github-readme-stats#deploy-on-your-own-vercel-instance

Youtube video tutorial: https://www.youtube.com/watch?v=n6d4KHSKqGk&feature=youtu.be&t=107

Also after forking make sure to open vercel.json and change the maxDuration option to 10.

GabrielMendesdc commented 2 years ago

Thanks a lot! mine is already bug fixed

anuraghazra commented 2 years ago

Thanks a lot! mine is already bug fixed

Yes, it's happening intermittently for some people, and for some it's not.

elli0t43 commented 2 years ago

Its happening again.

elli0t43 commented 2 years ago

He is working on the fix, till then, he said to run it on our own vercel instance

Hi everyone.

Sorry for the inconvenience. I will highly recommend deploying github-readme-stats on your own vercel instance to fix this issue, while I try to find a fix. Currently I'm unable to find any root cause.

Consider deploying on your own fork. follow the guide -> https://github.com/anuraghazra/github-readme-stats#deploy-on-your-own-vercel-instance

Youtube video tutorial: https://www.youtube.com/watch?v=n6d4KHSKqGk&feature=youtu.be&t=107

Also after forking make sure to open vercel.json and change the maxDuration option to 10.

anuraghazra commented 2 years ago

Added 4 new PATs, let's observe the downtime. For some reason the PATs are weirdly depleting super fast. not sure why.

ALSO: Note that deploying on your own instance is ALWAYS a better option than relaying on ours

  1. It reduces loads on our vercel instance, we get almost 3-4Million requests per month which is hard to scale up.
  2. Your own PAT will give you more concrete stats including private stats
  3. It ensures that there won't be any downtime on your profile stats because you are the only one who is gonna hit your URL

So please I enocurage everyone to deploy on their own instance, If you face any kind of issues while deployment I'm more than happy to help you out.

Babu-Mohammed-Izhan commented 2 years ago

It works now !! 😁

Ari24-cb24 commented 2 years ago

Yeah, thanks, gotta deploy my own instance now

debnathSD commented 2 years ago

Yes, it's happening intermittently for some people, and for some it's not.

Right, it is failing intermittently - checked around 6 PM IST. As @anuraghazra suggested already: deploying github-readme-stats on your own vercel instance would be a better option as of now.

kevspa commented 2 years ago

Just so you know, I just ran into this problem too.

KodingKhurram commented 2 years ago

Yaah same problem here, now going forward I 'am planning to deploy this in personal vercel app :)

jincheng9 commented 2 years ago

suggest to deploy your own instance

codergautam commented 2 years ago

Happening to me

Mad880 commented 2 years ago

I'm facing the same issue as well

michalspano commented 2 years ago

The same issue prevails here.

anuraghazra commented 2 years ago

Hi folks, I think the PATs are again depleting (even though we have 6 PATs now)

Please consider https://github.com/anuraghazra/github-readme-stats/issues/1471#issuecomment-979306704

rami3l commented 2 years ago

A friendly ping to indicate that this is issue is occurring again :|

NirmalSilwal commented 2 years ago

tagging @anuraghazra to let you know about the issue again

StreakingMan commented 2 years ago

It works well on this hour, and I have deploy on my own vercel, to take a little less stress on this repository's vercel instance :)

rickstaa commented 2 years ago

@anuraghazra Maybe we should add this to the bug template FAQ (i.e. https://github.com/anuraghazra/github-readme-stats/edit/master/.github/ISSUE_TEMPLATE/bug_report.md)? Also, maybe it is better to put the FAQ on top?

rickstaa commented 2 years ago

It looks like 9d2bfd9d8f00f6fc5229d0174a220ba04dbc4ee8 fixed this issue for now! 🚀 Please feel free to ping us if you experience any problems in the future. However, only comment if nobody has commented in the last three days or if you have information that could help us solve the problem. If there already is a recent comment or the label is attached, we are aware of the issue and are working on it. 🤓 Comments like "+1" and "same here" don't help anyone; they pressure the maintainer and spam their inbox. 💥

elenakrittik commented 2 years ago

"Maximum retries exceeded" right now

rickstaa commented 2 years ago

@weerdy15 Thanks a lot for letting us know that this is still happening! I changed fixed to in-progress again.

In the meantime, please consider deploying your own Vercel instance to reduce server load (see github-readme-stats#deploy-on-your-own-vercel-instance). Keeping your fork up to date is just a click of a button. This process can also be automated using a GitHub action like github-repo-sync. I also added a GitHub feature request to ease the process of keeping a fork up to date (see https://github.com/github/feedback/discussions/16913).

image

elenakrittik commented 2 years ago

@rickstaa Okay, thanks for such a great thing!

rickstaa commented 2 years ago

The issue should be fixed for now as we added three new Personal Access Tokens (PATs).

elenakrittik commented 2 years ago

The issue should be fixed for now as we added three new Personal Access Tokens (PATs).

Can I give you mine too?

rickstaa commented 2 years ago

@ItsAleph Thanks a lot for offering, but that is unnecessary and not wise from a security standpoint. @anuraghazra and I will create new PAT ourselves when the current PATs run out. Are you currently experiencing problems?

rickstaa commented 1 year ago

As mentioned in #1986, the limits are being hit again. To resolve this, the number of PATs needs to be increased. For people that are experiencing this issue, please consider deploying your Vercel instance (see https://github.com/anuraghazra/github-readme-stats#deploy-on-your-own-vercel-instance). Doing so would decrease the load on the public server. Thanks in advance 🚀.

noraj commented 1 year ago

The @codeSTACKr video is outdated, the vercel process changed. Same for the image guide from https://github.com/anuraghazra/github-readme-stats#deploy-on-your-own-vercel-instance.

And by the way just forking doesn't work anymore, during vercel deployment you will get this error:

Error! The value for maxDuration must be between 1 second and 10 seconds, in order to increase this limit upgrade your plan: https://vercel.com/pricing

So one has to edit vercel.json before if you plan to use the free tier:

{
  "functions": {
    "api/*.js": {
      "memory": 128,
-      "maxDuration": 30
+      "maxDuration": 10
    }
  },
  "redirects": [
    {
      "source": "/",
      "destination": "https://github.com/anuraghazra/github-readme-stats"
    }
  ]
}
jcnmsg commented 1 year ago

So one has to edit vercel.json before if you plan to use the free tier

Thanks, that fixed it! I originally got the same error but the project still got created in Vercel. Simply editing the vercel.json file in the cloned repository and redeploying wouldn't cut it and it just kept returning Maximum retries exceeded. For anyone struggling with this just start over, fork this repository, edit the vercel.json file as explained above and then import it into a new Vercel project - and don't forget to add your PAT_1 environment variable.

rickstaa commented 1 year ago

The @codeSTACKr video is outdated, the vercel process changed. Same for the image guide from https://github.com/anuraghazra/github-readme-stats#deploy-on-your-own-vercel-instance.

And by the way just forking doesn't work anymore, during vercel deployment you will get this error:

Error! The value for maxDuration must be between 1 second and 10 seconds, in order to increase this limit upgrade your plan: https://vercel.com/pricing

So one has to edit vercel.json before if you plan to use the free tier:

{
  "functions": {
    "api/*.js": {
      "memory": 128,
-      "maxDuration": 30
+      "maxDuration": 10
    }
  },
  "redirects": [
    {
      "source": "/",
      "destination": "https://github.com/anuraghazra/github-readme-stats"
    }
  ]
}

@noraj You are correct the video was done before we needed to increase the maxDuration parameter. Thanks for elaborating on that point! 👍🏻 However, we updated the text guide some time ago to include the maxDuration step (see step 6). Do you think the documentation can still be improved?

rickstaa commented 1 year ago

I will put this test card here to see if the PATs are failing.

Anurag's GitHub stats

rickstaa commented 1 year ago

@anuraghazra Maybe you can add the PAT I send you over Twitter? Further, maybe we can update the README a bit and add a note at the top explaining that the Vercel instance sometimes runs into GitHub query limits and point out that deploying a Vercel instance is the recommended option. Additionally, I think @4l1fe is implementing a docker container for the GRS script. If that feature is implemented, I will make a small GitHub action that can be used to update the cards periodically to give people more options.

noraj commented 1 year ago

@noraj You are correct the video was done before we needed to increase the maxDuration parameter. Thanks for elaborating on that point! 👍🏻 However, we updated the text guide some time ago to include the maxDuration step (see step 6). Do you think the documentation can still be improved?

Yeah, for example there is no longer an import button on the dashboard but that instead 👍🏻

image

old import button

image

this is what you got on new project creation now (looking on you organization / namespace repository or a small link to import git repo external to your oAuth app)

image

old import form

etc. the interface and workflow totally changed so the video and screenshots must all be redone from scratch unfortunately

4l1fe commented 1 year ago

@anuraghazra Maybe you can add the PAT I send you over Twitter? Further, maybe we can update the README a bit and add a note at the top explaining that the Vercel instance sometimes runs into GitHub query limits and point out that deploying a Vercel instance is the recommended option. Additionally, I think @4l1fe is implementing a docker container for the GRS script. If that feature is implemented, I will make a small GitHub action that can be used to update the cards periodically to give people more options.

I'm on the way...

rickstaa commented 1 year ago

@anuraghazra Maybe you can add the PAT I send you over Twitter? Further, maybe we can update the README a bit and add a note at the top explaining that the Vercel instance sometimes runs into GitHub query limits and point out that deploying a Vercel instance is the recommended option. Additionally, I think @4l1fe is implementing a docker container for the GRS script. If that feature is implemented, I will make a small GitHub action that can be used to update the cards periodically to give people more options.

I'm on the way...

Great! 🚀 No hurry the real solution would be to add an extra PAT.

rickstaa commented 1 year ago

@noraj You are correct the video was done before we needed to increase the maxDuration parameter. Thanks for elaborating on that point! 👍🏻 However, we updated the text guide some time ago to include the maxDuration step (see step 6). Do you think the documentation can still be improved?

Yeah, for example there is no longer an import button on the dashboard but that instead 👍🏻

image

old import button

image

this is what you got on new project creation now (looking on you organization / namespace repository or a small link to import git repo external to your oAuth app)

image

old import form

etc. the interface and workflow totally changed so the video and screenshots must all be redone from scratch unfortunately

Thanks for letting us know. I created #1990, so we know the problem and somebody can take it on.

elenakrittik commented 1 year ago

So one has to edit vercel.json before if you plan to use the free tier

Thanks, that fixed it! I originally got the same error but the project still got created in Vercel. Simply editing the vercel.json file in the cloned repository and redeploying wouldn't cut it and it just kept returning Maximum retries exceeded. For anyone struggling with this just start over, fork this repository, edit the vercel.json file as explained above and then import it into a new Vercel project - and don't forget to add your PAT_1 environment variable.

I needed to edit vercel.json and only replace PAT with a newly-generated one, then re-deploy. No need to make a new project ;D

RafaelSolVargas commented 1 year ago

Hi, how was it requested in https://github.com/anuraghazra/github-readme-stats/issues/1772 I'm just here to say that the Vercel limit was reached here in the last hour, more precisely between 12:00-13:00 in Brazil (GMT-3)

rickstaa commented 1 year ago

@RafaelSolVargas Thanks for letting us know. 👍🏻 We will add another PAT if this happens more frequently. If you want, you can deploy your own Vercel instance (see https://github.com/anuraghazra/github-readme-stats#deploy-on-your-own-vercel-instance) to prevent this from happening.

ctcpip commented 1 year ago

limit is being reached currently. I am aware of the guide on deploying an instance, but just letting you know.

rickstaa commented 1 year ago

@ctcpip Thanks for the heads up! We are working on it 👍🏻.

rickstaa commented 1 year ago

We added an extra PAT. The issue should be fixed for now.

Anurag's GitHub stats

JacobMGEvans commented 1 year ago

We added an extra PAT. The issue should be fixed for now.

Its back lol

breftejk commented 1 year ago

It's not really.