question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Don't Remove Support to `--once`

See original GitHub issue

On PR #660, the --ephemeral flag was introduced with the intent of replacing the --once flag. But by deregistering and reregistering the runner every time, the number of API calls to GitHub dramatically increases, and eventually, the rate limit is exceeded.

I experienced before the --ephemeral even existed. Every time I wanted to run a job, I was registering a new runner, starting it with --once, and deregistering it after the job was completed. Quickly the maximum number of API calls allowed to a GitHub App was exceeded. I solve the problem by keeping the credentials of runners and only registering and deregistering runners on upscale and downscale operations.

With the removal of the --once flag, it will not possible to run a single job on the runner without removing it when the job is completed. Effectively limiting the number of ephemeral runners that can be used within an hour. Using a PAT, you are limited to 2500 jobs run by a self-hosted runner, assuming the only operations you do are runner registration and deregistration. With a GitHub App, in the best case, you will be able to run 6250 jobs, or 7500 with GitHub Enterprise Cloud, which is not reasonable for a lot of companies.

@TingluoHuang @pje

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:2
  • Comments:13 (1 by maintainers)

github_iconTop GitHub Comments

2reactions
MichaelJJcommented, Sep 27, 2021

@thboop Does the endpoint limit count for enterprise, organization and repo registration tokens?

I’ve tested all 3 and I see 0 used for actions_runner_registration but the core used count increases instead.

2reactions
thboopcommented, Sep 17, 2021

Hey @t0rr3sp3dr0 ,

Thanks for the feedback here. A few things our team is working on:

  • We aren’t going to remove --once flag just yet. Our team views ephemeral as the future, but we want to ensure we don’t break your current workflows as we move towards it
  • We are looking into possibly providing a separate rate limit for the runner registration endpoint with a higher value, it wouldn’t count against your normal rate limit quota. Rate limits allow us to prevent malicious users from doing denial of service attacks, but we want it high enough to not impact legit usage. I’ll follow up with more exact details on numbers here in the near future.
  • We are working on updating our docs with best practices to manage a pool of ephemeral runners, we will touch on caching and how to manage tokens in those docs. Typically this is an operator pattern, as you are already using on linux. Our macOS machines get a token passed in in a similar pattern

Please follow up if you have any questions or concerns, and we appreciate the feedback!

Read more comments on GitHub >

github_iconTop Results From Across the Web

What to do if Instagram didn't remove content you reported
Tap in the top right, then tap Settings and privacy. Below More info and support, tap Help. Tap Support requests, then tap Reports....
Read more >
Using Ellipses to Omit Words From a Quotation
Abolitionists should at once effectually withdraw their support, both in person and property, from the government of Massachusetts, and not wait till they ......
Read more >
Remove a device from Find My on iPhone
Do one of the following: For an iPhone, iPad, iPod touch, Mac, or Apple Watch: Turn off the device. · In Find My,...
Read more >
Unpair and erase your Apple Watch
How to erase your Apple Watch if you don't have your iPhone · On your Apple Watch, tap Settings > General > Reset...
Read more >
Understand missing & delayed reviews
Usually, missing reviews are removed for policy violations like spam or inappropriate content. We don't reinstate reviews that are removed for policy violations ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found