diff options
Diffstat (limited to 'src/server/api/endpoints/admin/queue')
| -rw-r--r-- | src/server/api/endpoints/admin/queue/clear.ts | 5 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/queue/deliver-delayed.ts | 30 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/queue/inbox-delayed.ts | 30 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/queue/jobs.ts | 37 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/queue/stats.ts | 26 |
5 files changed, 127 insertions, 1 deletions
diff --git a/src/server/api/endpoints/admin/queue/clear.ts b/src/server/api/endpoints/admin/queue/clear.ts index 0375f55f01..bc55a02ec1 100644 --- a/src/server/api/endpoints/admin/queue/clear.ts +++ b/src/server/api/endpoints/admin/queue/clear.ts @@ -3,6 +3,11 @@ import { destroy } from '../../../../../queue'; import { insertModerationLog } from '../../../../../services/insert-moderation-log'; export const meta = { + desc: { + 'ja-JP': 'ジョブキューを全て削除します。', + 'en-US': 'Delete all job queues.' + }, + tags: ['admin'], requireCredential: true as const, diff --git a/src/server/api/endpoints/admin/queue/deliver-delayed.ts b/src/server/api/endpoints/admin/queue/deliver-delayed.ts index 6bfb5b50fe..221aa35e48 100644 --- a/src/server/api/endpoints/admin/queue/deliver-delayed.ts +++ b/src/server/api/endpoints/admin/queue/deliver-delayed.ts @@ -2,12 +2,42 @@ import define from '../../../define'; import { deliverQueue } from '../../../../../queue'; export const meta = { + desc: { + 'ja-JP': '他サーバーへ送るキューの遅延一覧を返します。', + 'en-US': 'Returns a list of delays in queues sent to other servers.' + }, + tags: ['admin'], requireCredential: true as const, requireModerator: true, params: { + }, + + res: { + type: 'array' as const, + optional: false as const, nullable: false as const, + items: { + type: 'array' as const, + optional: false as const, nullable: false as const, + items: { + anyOf: [ + { + type: 'string' as const, + description: 'FQDN to fediverse server' + }, + { + type: 'number' as const, + description: 'Delayed queue counts' + } + ] + } + }, + example: [[ + 'example.com', + 12 + ]] } }; diff --git a/src/server/api/endpoints/admin/queue/inbox-delayed.ts b/src/server/api/endpoints/admin/queue/inbox-delayed.ts index 4627cefdd8..52f67cb514 100644 --- a/src/server/api/endpoints/admin/queue/inbox-delayed.ts +++ b/src/server/api/endpoints/admin/queue/inbox-delayed.ts @@ -2,12 +2,42 @@ import define from '../../../define'; import { inboxQueue } from '../../../../../queue'; export const meta = { + desc: { + 'ja-JP': 'このサーバーへのキューの遅延一覧を返します。', + 'en-US': 'Returns a list of queue delays to this server.' + }, + tags: ['admin'], requireCredential: true as const, requireModerator: true, params: { + }, + + res: { + type: 'array' as const, + optional: false as const, nullable: false as const, + items: { + type: 'array' as const, + optional: false as const, nullable: false as const, + items: { + anyOf: [ + { + type: 'string' as const, + description: 'FQDN to fediverse server' + }, + { + type: 'number' as const, + description: 'Delayed queue counts' + } + ] + } + }, + example: [[ + 'example.com', + 12 + ]] } }; diff --git a/src/server/api/endpoints/admin/queue/jobs.ts b/src/server/api/endpoints/admin/queue/jobs.ts index 0cd3f40d4e..5ab78e3c48 100644 --- a/src/server/api/endpoints/admin/queue/jobs.ts +++ b/src/server/api/endpoints/admin/queue/jobs.ts @@ -3,6 +3,11 @@ import define from '../../../define'; import { deliverQueue, inboxQueue, dbQueue, objectStorageQueue } from '../../../../../queue'; export const meta = { + desc: { + 'ja-JP': 'ジョブ一覧を表示します。', + 'en-US': 'Display the job list.' + }, + tags: ['admin'], requireCredential: true as const, @@ -21,6 +26,38 @@ export const meta = { validator: $.optional.num, default: 50 }, + }, + + res: { + type: 'array' as const, + optional: false as const, nullable: false as const, + items: { + type: 'object' as const, + optional: false as const, nullable: false as const, + properties: { + id: { + type: 'string' as const, + optional: false as const, nullable: false as const, + format: 'id' + }, + data: { + type: 'object' as const, + optional: false as const, nullable: false as const + }, + attempts: { + type: 'number' as const, + optional: false as const, nullable: false as const + }, + maxAttempts: { + type: 'number' as const, + optional: false as const, nullable: false as const + }, + timestamp: { + type: 'number' as const, + optional: false as const, nullable: false as const + } + } + } } }; diff --git a/src/server/api/endpoints/admin/queue/stats.ts b/src/server/api/endpoints/admin/queue/stats.ts index da29c5285e..bd64d2ac06 100644 --- a/src/server/api/endpoints/admin/queue/stats.ts +++ b/src/server/api/endpoints/admin/queue/stats.ts @@ -2,12 +2,36 @@ import define from '../../../define'; import { deliverQueue, inboxQueue, dbQueue, objectStorageQueue } from '../../../../../queue'; export const meta = { + desc: { + 'ja-JP': 'キューの状態を返します。', + 'en-US': 'Returns the status of the queue.' + }, + tags: ['admin'], requireCredential: true as const, requireModerator: true, - params: {} + params: {}, + + res: { + type: 'object' as const, + optional: false as const, nullable: false as const, + properties: { + deliver: { + ref: 'QueueCount' + }, + inbox: { + ref: 'QueueCount' + }, + db: { + ref: 'QueueCount' + }, + objectStorage: { + ref: 'QueueCount' + } + } + } }; export default define(meta, async (ps) => { |