Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/feed/worker/FeedPublisherWorker.php
12241 views
1
<?php
2
3
final class FeedPublisherWorker extends FeedPushWorker {
4
5
protected function doWork() {
6
$story = $this->loadFeedStory();
7
8
$uris = PhabricatorEnv::getEnvConfig('feed.http-hooks');
9
10
if ($uris) {
11
foreach ($uris as $uri) {
12
$this->queueTask(
13
'FeedPublisherHTTPWorker',
14
array(
15
'key' => $story->getChronologicalKey(),
16
'uri' => $uri,
17
));
18
}
19
}
20
21
$argv = array(
22
array(),
23
);
24
25
// Find and schedule all the enabled Doorkeeper publishers.
26
// TODO: Use PhutilClassMapQuery?
27
$doorkeeper_workers = id(new PhutilSymbolLoader())
28
->setAncestorClass('DoorkeeperFeedWorker')
29
->loadObjects($argv);
30
foreach ($doorkeeper_workers as $worker) {
31
if (!$worker->isEnabled()) {
32
continue;
33
}
34
$this->queueTask(
35
get_class($worker),
36
array(
37
'key' => $story->getChronologicalKey(),
38
));
39
}
40
}
41
42
43
}
44
45