private function getCoordinator() { $coordinator = new SqlChangeDispatchCoordinator(false, 'TestRepo'); $coordinator->setBatchSize(3); $coordinator->setRandomness(3); $coordinator->setLockGraceInterval(120); $coordinator->setDispatchInterval(60); $coordinator->setArrayRandOverride(function ($array) { $keys = array_keys($array); $last = end($keys); return $last; }); $coordinator->setTimeOverride(function () { return wfTimestamp(TS_UNIX, '20140303000000'); }); $coordinator->setIsClientLockUsedOverride(function ($db, $lockName) { return $lockName === 'Wikibase.TestRepo.dispatchChanges.zhwiki'; }); $coordinator->setEngageClientLockOverride(function ($db, $lockName) { return $lockName !== 'Wikibase.TestRepo.dispatchChanges.zhwiki'; }); $coordinator->setReleaseClientLockOverride(function ($db, $lockName) { return true; }); return $coordinator; }
private function getCoordinator() { $clientWikis = array('dewiki' => 'dewikidb', 'enwiki' => 'enwikidb', 'nlwiki' => 'nlwikidb', 'ruwiki' => 'ruwikidb', 'zhwiki' => 'zhwikidb'); $coordinator = new SqlChangeDispatchCoordinator(false, $clientWikis); $coordinator->setBatchSize(3); $coordinator->setRandomness(3); $coordinator->setLockGraceInterval(120); $coordinator->setDispatchInterval(60); $coordinator->setArrayRandOverride(function ($array) { $keys = array_keys($array); $last = end($keys); return $last; }); $coordinator->setTimeOverride(function () { return wfTimestamp(TS_UNIX, '20140303000000'); }); $coordinator->setIsClientLockUsedOverride(function ($wikiDB, $lockName) { return $wikiDB === 'zhwikidb'; }); $coordinator->setEngageClientLockOverride(function ($wikiDB) { return $wikiDB !== 'zhwikidb'; }); $coordinator->setReleaseClientLockOverride(function ($wikiDB) { return true; }); return $coordinator; }