Documentation ¶
Overview ¶
Package commitingester contains methods for handling commit ingestion.
It is able to ingest all commits reachable from a given commitish using the following steps.
- Retrieve up to N closest commits reachable from the given commitish and page token.
- Check whether those commits has already been saved into the database.
- If yes, stops the ingestion.
- If not, save those commits into the database.
- If root commit hasn't been reached, transactionally schedule another commit ingestion task with the next page token.
Because the ingestion stops when it encounters a commit that is already ingested, it's important to maintain the following invariants:
- If a commit is saved into the database, all its ancestors must also have been, or scheduled to be, saved into the database.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterCronHandlers ¶
RegisterCronHandlers registers the cron handlers for Source Index's commit ingestion.
func RegisterPubSubHandlers ¶
RegisterPubSubHandlers registers the pubsub handlers for Source Index's commit ingestion.
func RegisterTaskQueueHandlers ¶
RegisterTaskQueueHandlers registers the task queue handlers for Source Index's commit ingestion.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.