Hi, I'm the developer of ContentDB, a website for games, mods, and textures for Luanti. We hung out with Codeberg at FOSDEM.
ContentDB has a feature where it checks for new commits or tags on upstream repositories once per day, using git ls-remote. ContentDB does also support GitHub/GitLab compatible webhooks, this polling feature exists as a platform-independent way to automatically make new releases on ContentDB. ContentDB has 350 packages with codeberg repositories.
From reading the platform infrastructure file, it looks like the rate limit is 250 per 30 minutes.
I have given codeberg a dedicated task queue with a limit of 400/h. Celery task ratelimits work by dividing the time by the number of requests and using that as a minimum time between tasks. So for the 4 workers, each will wait 60*60/100=36 seconds between checking codeberg updates.
ContentDB is still hitting the ratelimit. I'd appreciate your guidance on this. Is 250/30mins correct? Is git ls-remote resulting in multiple git ops? Does every call require an auth op?
### Comment
Hi, I'm the developer of [ContentDB](https://content.luanti.org), a website for games, mods, and textures for [Luanti](https://www.luanti.org). We hung out with Codeberg at FOSDEM.
ContentDB has a [feature](https://content.luanti.org/help/update_config/) where it checks for new commits or tags on upstream repositories once per day, using `git ls-remote`. ContentDB does also support GitHub/GitLab compatible webhooks, this polling feature exists as a platform-independent way to automatically make new releases on ContentDB. ContentDB has 350 packages with codeberg repositories.
From reading the [platform infrastructure](https://codeberg.org/Codeberg-Infrastructure/scripted-configuration/src/commit/c3d59d41f87d6a5e833f9d1bb14e06e2d988ccbc/hosts/_reverseproxy/etc/caddy/forgejo-prod.site#L55-L80) file, it looks like the rate limit is 250 per 30 minutes.
I have given codeberg a dedicated task queue with a limit of 400/h. Celery task ratelimits work by dividing the time by the number of requests and using that as a minimum time between tasks. So for the 4 workers, each will wait `60*60/100=36` seconds between checking codeberg updates.
ContentDB is still hitting the ratelimit. I'd appreciate your guidance on this. Is 250/30mins correct? Is `git ls-remote` resulting in multiple git ops? Does every call require an `auth` op?