summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/queue/deliver-delayed.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/admin/queue/deliver-delayed.ts')
-rw-r--r--src/server/api/endpoints/admin/queue/deliver-delayed.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/queue/deliver-delayed.ts b/src/server/api/endpoints/admin/queue/deliver-delayed.ts
new file mode 100644
index 0000000000..d33837c099
--- /dev/null
+++ b/src/server/api/endpoints/admin/queue/deliver-delayed.ts
@@ -0,0 +1,31 @@
+import define from '../../../define';
+import { deliverQueue } from '../../../../../queue';
+
+export const meta = {
+ tags: ['admin'],
+
+ requireCredential: true,
+ requireModerator: true,
+
+ params: {
+ }
+};
+
+export default define(meta, async (ps) => {
+ const jobs = await deliverQueue.getJobs(['delayed']);
+
+ const res = [] as [string, number][];
+
+ for (const job of jobs) {
+ const host = new URL(job.data.to).host;
+ if (res.find(x => x[0] === host)) {
+ res.find(x => x[0] === host)![1]++;
+ } else {
+ res.push([host, 1]);
+ }
+ }
+
+ res.sort((a, b) => b[1] - a[1]);
+
+ return res;
+});