efacbf4eec
duckduckgo.com/?q=Check+out+TeamYouTube+on+X.%0Aupdates+%26+answers+from+the+team+bringing+you+YouTube%2C+helping+in%3A+english%2C+espa%C3%B1ol%2C+portugu%C3%AAs%2C+deutsch%2C+fran%C3%A7ais%2C+p%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%2C+%E6%97%A5%E6%9C%AC%E8%AA%9E%2C+indonesian%2C+%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9%2C+%E0%A4%B9%E0%A4%BF%E0%A4%82%E0%A4%A6%E0%A5%80%2C+%ED%95%9C%EA%B5%AD%EC%96%B4&t=ddg_ios&atb=v399-1me&ko=-1&ia=web” duckduckgo:favorite=“true”>Check out TeamYouTube on X. updates & answers from the team bringing you YouTube, helping in: english, español, português, deutsch, français, pусский, 日本語, indonesian, العربية, हिंदी, 한국어 at DuckDuckGo</A><xm> |
||
---|---|---|
.. | ||
src/main | ||
BUILD.bazel | ||
README.md |
README.md
Pushservice
Pushservice is the main push recommendation service at Twitter used to generate recommendation-based notifications for users. It currently powers two functionalities:
- RefreshForPushHandler: This handler determines whether to send a recommendation push to a user based on their ID. It generates the best push recommendation item and coordinates with downstream services to deliver it
- SendHandler: This handler determines and manage whether send the push to users based on the given target user details and the provided push recommendation item
Overview
RefreshForPushHandler
RefreshForPushHandler follows these steps:
- Building Target and checking eligibility
- Builds a target user object based on the given user ID
- Performs target-level filterings to determine if the target is eligible for a recommendation push
- Fetch Candidates
- Retrieves a list of potential candidates for the push by querying various candidate sources using the target
- Candidate Hydration
- Hydrates the candidate details with batch calls to different downstream services
- Pre-rank Filtering, also called Light Filtering
- Filters the hydrated candidates with lightweight RPC calls
- Rank
- Perform feature hydration for candidates and target user
- Performs light ranking on candidates
- Performs heavy ranking on candidates
- Take Step, also called Heavy Filtering
- Takes the top-ranked candidates one by one and applies heavy filtering until one candidate passes all filter steps
- Send
- Calls the appropriate downstream service to deliver the eligible candidate as a push and in-app notification to the target user
SendHandler
SendHandler follows these steps:
- Building Target
- Builds a target user object based on the given user ID
- Candidate Hydration
- Hydrates the candidate details with batch calls to different downstream services
- Feature Hydration
- Perform feature hydration for candidates and target user
- Take Step, also called Heavy Filtering
- Perform filterings and validation checking for the given candidate
- Send
- Calls the appropriate downstream service to deliver the given candidate as a push and/or in-app notification to the target user