Passed
Push — master ( f96afc...4d8c96 )
by Christoph
21:42 queued 13s
created
apps/dav/lib/BackgroundJob/BuildReminderIndexBackgroundJob.php 1 patch
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -41,91 +41,91 @@
 block discarded – undo
41 41
  */
42 42
 class BuildReminderIndexBackgroundJob extends QueuedJob {
43 43
 
44
-	/** @var IDBConnection */
45
-	private $db;
46
-
47
-	/** @var ReminderService */
48
-	private $reminderService;
49
-
50
-	private LoggerInterface $logger;
51
-
52
-	/** @var IJobList */
53
-	private $jobList;
54
-
55
-	/** @var ITimeFactory */
56
-	private $timeFactory;
57
-
58
-	/**
59
-	 * BuildReminderIndexBackgroundJob constructor.
60
-	 */
61
-	public function __construct(IDBConnection $db,
62
-								ReminderService $reminderService,
63
-								LoggerInterface $logger,
64
-								IJobList $jobList,
65
-								ITimeFactory $timeFactory) {
66
-		parent::__construct($timeFactory);
67
-		$this->db = $db;
68
-		$this->reminderService = $reminderService;
69
-		$this->logger = $logger;
70
-		$this->jobList = $jobList;
71
-		$this->timeFactory = $timeFactory;
72
-	}
73
-
74
-	public function run($argument) {
75
-		$offset = (int) $argument['offset'];
76
-		$stopAt = (int) $argument['stopAt'];
77
-
78
-		$this->logger->info('Building calendar reminder index (' . $offset .'/' . $stopAt . ')');
79
-
80
-		$offset = $this->buildIndex($offset, $stopAt);
81
-
82
-		if ($offset >= $stopAt) {
83
-			$this->logger->info('Building calendar reminder index done');
84
-		} else {
85
-			$this->jobList->add(self::class, [
86
-				'offset' => $offset,
87
-				'stopAt' => $stopAt
88
-			]);
89
-			$this->logger->info('Scheduled a new BuildReminderIndexBackgroundJob with offset ' . $offset);
90
-		}
91
-	}
92
-
93
-	/**
94
-	 * @param int $offset
95
-	 * @param int $stopAt
96
-	 * @return int
97
-	 */
98
-	private function buildIndex(int $offset, int $stopAt):int {
99
-		$startTime = $this->timeFactory->getTime();
100
-
101
-		$query = $this->db->getQueryBuilder();
102
-		$query->select('*')
103
-			->from('calendarobjects')
104
-			->where($query->expr()->lte('id', $query->createNamedParameter($stopAt)))
105
-			->andWhere($query->expr()->gt('id', $query->createNamedParameter($offset)))
106
-			->orderBy('id', 'ASC');
107
-
108
-		$result = $query->executeQuery();
109
-		while ($row = $result->fetch(\PDO::FETCH_ASSOC)) {
110
-			$offset = (int) $row['id'];
111
-			if (is_resource($row['calendardata'])) {
112
-				$row['calendardata'] = stream_get_contents($row['calendardata']);
113
-			}
114
-			$row['component'] = $row['componenttype'];
115
-
116
-			try {
117
-				$this->reminderService->onCalendarObjectCreate($row);
118
-			} catch (\Exception $ex) {
119
-				$this->logger->error($ex->getMessage(), ['exception' => $ex]);
120
-			}
121
-
122
-			if (($this->timeFactory->getTime() - $startTime) > 15) {
123
-				$result->closeCursor();
124
-				return $offset;
125
-			}
126
-		}
127
-
128
-		$result->closeCursor();
129
-		return $stopAt;
130
-	}
44
+    /** @var IDBConnection */
45
+    private $db;
46
+
47
+    /** @var ReminderService */
48
+    private $reminderService;
49
+
50
+    private LoggerInterface $logger;
51
+
52
+    /** @var IJobList */
53
+    private $jobList;
54
+
55
+    /** @var ITimeFactory */
56
+    private $timeFactory;
57
+
58
+    /**
59
+     * BuildReminderIndexBackgroundJob constructor.
60
+     */
61
+    public function __construct(IDBConnection $db,
62
+                                ReminderService $reminderService,
63
+                                LoggerInterface $logger,
64
+                                IJobList $jobList,
65
+                                ITimeFactory $timeFactory) {
66
+        parent::__construct($timeFactory);
67
+        $this->db = $db;
68
+        $this->reminderService = $reminderService;
69
+        $this->logger = $logger;
70
+        $this->jobList = $jobList;
71
+        $this->timeFactory = $timeFactory;
72
+    }
73
+
74
+    public function run($argument) {
75
+        $offset = (int) $argument['offset'];
76
+        $stopAt = (int) $argument['stopAt'];
77
+
78
+        $this->logger->info('Building calendar reminder index (' . $offset .'/' . $stopAt . ')');
79
+
80
+        $offset = $this->buildIndex($offset, $stopAt);
81
+
82
+        if ($offset >= $stopAt) {
83
+            $this->logger->info('Building calendar reminder index done');
84
+        } else {
85
+            $this->jobList->add(self::class, [
86
+                'offset' => $offset,
87
+                'stopAt' => $stopAt
88
+            ]);
89
+            $this->logger->info('Scheduled a new BuildReminderIndexBackgroundJob with offset ' . $offset);
90
+        }
91
+    }
92
+
93
+    /**
94
+     * @param int $offset
95
+     * @param int $stopAt
96
+     * @return int
97
+     */
98
+    private function buildIndex(int $offset, int $stopAt):int {
99
+        $startTime = $this->timeFactory->getTime();
100
+
101
+        $query = $this->db->getQueryBuilder();
102
+        $query->select('*')
103
+            ->from('calendarobjects')
104
+            ->where($query->expr()->lte('id', $query->createNamedParameter($stopAt)))
105
+            ->andWhere($query->expr()->gt('id', $query->createNamedParameter($offset)))
106
+            ->orderBy('id', 'ASC');
107
+
108
+        $result = $query->executeQuery();
109
+        while ($row = $result->fetch(\PDO::FETCH_ASSOC)) {
110
+            $offset = (int) $row['id'];
111
+            if (is_resource($row['calendardata'])) {
112
+                $row['calendardata'] = stream_get_contents($row['calendardata']);
113
+            }
114
+            $row['component'] = $row['componenttype'];
115
+
116
+            try {
117
+                $this->reminderService->onCalendarObjectCreate($row);
118
+            } catch (\Exception $ex) {
119
+                $this->logger->error($ex->getMessage(), ['exception' => $ex]);
120
+            }
121
+
122
+            if (($this->timeFactory->getTime() - $startTime) > 15) {
123
+                $result->closeCursor();
124
+                return $offset;
125
+            }
126
+        }
127
+
128
+        $result->closeCursor();
129
+        return $stopAt;
130
+    }
131 131
 }
Please login to merge, or discard this patch.