As part of Txxx, I'm running the revalidateLinkRecommendations.php maintenance script for itwiki. Its output includes the following:
[...] scheduling deleting null recommendation for page ID 3327... done. [...]
Checking in the code, this happens in RevalidateLinkRecommendations.php::handleNullRecommendation, which (1) makes the log and (2) calls LinkRecommendationStore::deleteByPageIds(). That method then does:
$dbw = $this->growthLoadBalancer->getConnection( DB_PRIMARY ); $dbw->newDeleteQueryBuilder() ->deleteFrom( 'growthexperiments_link_recommendations' ) ->where( [ 'gelr_page' => $pageIds ] ) ->caller( __METHOD__ ) ->execute(); return $dbw->affectedRows();
where $pageIds is whatever the revalidation script passed. As far as I can see, no actual "scheduling" is happening – the script just makes a DELETE query, which is processed right when it is issued. Can we rewrite the log to "deleting null recommendation for page ID blah" instead, to be more accurate?