diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-03-15 13:48:17 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-03-15 13:48:17 +0900 |
| commit | 6bb90f56fa9c937049336ec918b858523e0b2e2f (patch) | |
| tree | 21447b7370f9d07c692e2a50859e781f0531c03c /src/server/api/endpoints/admin/queue/jobs.ts | |
| parent | :art: (diff) | |
| download | sharkey-6bb90f56fa9c937049336ec918b858523e0b2e2f.tar.gz sharkey-6bb90f56fa9c937049336ec918b858523e0b2e2f.tar.bz2 sharkey-6bb90f56fa9c937049336ec918b858523e0b2e2f.zip | |
ジョブを一覧できるように
Diffstat (limited to 'src/server/api/endpoints/admin/queue/jobs.ts')
| -rw-r--r-- | src/server/api/endpoints/admin/queue/jobs.ts | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/queue/jobs.ts b/src/server/api/endpoints/admin/queue/jobs.ts new file mode 100644 index 0000000000..c2496d7ef7 --- /dev/null +++ b/src/server/api/endpoints/admin/queue/jobs.ts @@ -0,0 +1,40 @@ +import $ from 'cafy'; +import define from '../../../define'; +import { deliverQueue, inboxQueue } from '../../../../../queue'; + +export const meta = { + tags: ['admin'], + + requireCredential: true, + requireModerator: true, + + params: { + domain: { + validator: $.str, + }, + + state: { + validator: $.str, + }, + + limit: { + validator: $.optional.num, + default: 50 + }, + } +}; + +export default define(meta, async (ps) => { + const queue = + ps.domain === 'deliver' ? deliverQueue : + ps.domain === 'inbox' ? inboxQueue : + null; + + const jobs = await queue.getJobs([ps.state], 0, ps.limit); + + return jobs.map(job => ({ + id: job.id, + data: job.data, + attempts: job.attemptsMade, + })); +}); |