summaryrefslogtreecommitdiff
path: root/src/server/api
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-11-07 05:41:44 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-11-07 05:41:44 +0900
commit8ada1725bfee9087aca5f633fd0799b44bcb101a (patch)
tree6d7fb186941eca0aab57bed2ede3c421d4f81719 /src/server/api
parentAPの統計とログの修正と強化 (#5585) (diff)
downloadsharkey-8ada1725bfee9087aca5f633fd0799b44bcb101a.tar.gz
sharkey-8ada1725bfee9087aca5f633fd0799b44bcb101a.tar.bz2
sharkey-8ada1725bfee9087aca5f633fd0799b44bcb101a.zip
管理画面のジョブキュー一覧の修正 (#5586)
* Fix: inboxのジョブキューが表示されない * ジョブキューで試行回数等を表示するように * DBとオブジェクトストレージのジョブキューが表示されるように
Diffstat (limited to 'src/server/api')
-rw-r--r--src/server/api/endpoints/admin/queue/jobs.ts25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/server/api/endpoints/admin/queue/jobs.ts b/src/server/api/endpoints/admin/queue/jobs.ts
index 4e47775692..0d23ca3e57 100644
--- a/src/server/api/endpoints/admin/queue/jobs.ts
+++ b/src/server/api/endpoints/admin/queue/jobs.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { deliverQueue, inboxQueue } from '../../../../../queue';
+import { deliverQueue, inboxQueue, dbQueue, objectStorageQueue } from '../../../../../queue';
export const meta = {
tags: ['admin'],
@@ -10,11 +10,11 @@ export const meta = {
params: {
domain: {
- validator: $.str,
+ validator: $.str.or(['deliver', 'inbox', 'db', 'objectStorage']),
},
state: {
- validator: $.str,
+ validator: $.str.or(['active', 'waiting', 'delayed']),
},
limit: {
@@ -28,13 +28,22 @@ export default define(meta, async (ps) => {
const queue =
ps.domain === 'deliver' ? deliverQueue :
ps.domain === 'inbox' ? inboxQueue :
+ ps.domain === 'db' ? dbQueue :
+ ps.domain === 'objectStorage' ? objectStorageQueue :
null as never;
const jobs = await queue.getJobs([ps.state], 0, ps.limit!);
- return jobs.map(job => ({
- id: job.id,
- data: job.data,
- attempts: job.attemptsMade,
- }));
+ return jobs.map(job => {
+ const data = job.data;
+ delete data.content;
+ delete data.user;
+ return {
+ id: job.id,
+ data,
+ attempts: job.attemptsMade,
+ maxAttempts: job.opts ? job.opts.attempts : 0,
+ timestamp: job.timestamp,
+ };
+ });
});