MCPcopy Create free account
hub / github.com/boringstack-xyz/boringstack / getStats

Method getStats

apps/api/src/queues/queue-manager.ts:177–207  ·  view source on GitHub ↗

* Snapshot of every managed queue's job counts. Drives the admin * `/admin/queues` endpoint. Pure Valkey reads, safe from a request handler.

()

Source from the content-addressed store, hash-verified

175 * `/admin/queues` endpoint. Pure Valkey reads, safe from a request handler.
176 */
177 async getStats(): Promise<IQueueStats[]> {
178 const queues: { name: string; queue: IManagedQueue }[] = [
179 {
180 name: this.accountMaintenanceQueue.name,
181 queue: this.accountMaintenanceQueue,
182 },
183 { name: this.emailDeliveryQueue.name, queue: this.emailDeliveryQueue },
184 {
185 name: this.notificationDispatchQueue.name,
186 queue: this.notificationDispatchQueue,
187 },
188 {
189 name: this.notificationMaintenanceQueue.name,
190 queue: this.notificationMaintenanceQueue,
191 },
192 ];
193
194 if (this.webPushDeliveryQueue !== null) {
195 queues.push({
196 name: this.webPushDeliveryQueue.name,
197 queue: this.webPushDeliveryQueue,
198 });
199 }
200
201 return Promise.all(
202 queues.map(async ({ name, queue }) => ({
203 name,
204 counts: await fetchQueueCounts(queue),
205 }))
206 );
207 }
208
209 async close(): Promise<void> {
210 logger.info("Closing queues + workers", {

Callers 2

getQueueStatsMethod · 0.80

Calls 1

fetchQueueCountsFunction · 0.85

Tested by

no test coverage detected