Skip to content

Bhavik Sachdev

@bsach64

no

no

Skill iconPython
Skill iconGo
SQL
RESTful API Design
Linux Kernel

Google Summer of Code 25 Contributor, CRIU

Naya Raipur, India

Devfolio stats

Devfolio stats

1

project

1

0

prizes

0

1

hackathon

1

0

Hackathons org.

0

Work Experience

Work Experience

C

CRIU

Google Summer of Code 25 Contributor

Google Summer of Code Contributor

C

F

C

Google Summer of Code 25 Contributor

CRIU,

F

Backend Intern

Fam,

Top Projects

Top Projects

G

Github Ingestion Engine

Ingesting All the Data

For any given username, the project ingests their most recent GitHub activity including user information, issues, pull requests, commits, stars, and more. The data is not refreshed if the last fetch occurred less than 24 hours ago; this is a trade-off between reducing API usage and keeping the data reasonably up to date. Since the data store is primarily used for analytics or awarding users based on their activity, real-time updates are not necessary. The data is only refreshed if the same user is re-ingested or if a query requests an update and the existing data is more than 24 hours old. The project includes measures such as rate limiting and a retry mechanism for reducing the usage of the Github API. Both of these are implemented by overriding a couple of methods in the standard Go http.Client. The requests sent to the engine are queued and a worker pool picks them up. The limit of the queue is 1000 and we have 10 workers (defaults), this allows the engine to ingest a lot of data at once. image