Skip to content
Snippets Groups Projects
Unverified Commit 78a82935 authored by syuilo's avatar syuilo
Browse files

ジョブの数を一覧できるように

parent 03cfb4fc
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,34 @@
<div>
<ui-card>
<template #title>{{ $t('operation') }}</template>
<section>
<header>Deliver</header>
<ui-horizon-group inputs v-if="stats">
<ui-input :value="stats.deliver.waiting | number" type="text" readonly>
<span>Waiting</span>
</ui-input>
<ui-input :value="stats.deliver.active | number" type="text" readonly>
<span>Active</span>
</ui-input>
<ui-input :value="stats.deliver.delayed | number" type="text" readonly>
<span>Delayed</span>
</ui-input>
</ui-horizon-group>
</section>
<section>
<header>Inbox</header>
<ui-horizon-group inputs v-if="stats">
<ui-input :value="stats.inbox.waiting | number" type="text" readonly>
<span>Waiting</span>
</ui-input>
<ui-input :value="stats.inbox.active | number" type="text" readonly>
<span>Active</span>
</ui-input>
<ui-input :value="stats.inbox.delayed | number" type="text" readonly>
<span>Delayed</span>
</ui-input>
</ui-horizon-group>
</section>
<section>
<ui-button @click="removeAllJobs">{{ $t('remove-all-jobs') }}</ui-button>
</section>
......@@ -18,9 +46,16 @@ export default Vue.extend({
data() {
return {
stats: null
};
},
created() {
this.$root.api('admin/queue/stats').then(stats => {
this.stats = stats;
});
},
methods: {
async removeAllJobs() {
const process = async () => {
......
......@@ -21,9 +21,9 @@ function initializeQueue(name: string) {
} : null);
}
const deliverQueue = initializeQueue('deliver');
const inboxQueue = initializeQueue('inbox');
const dbQueue = initializeQueue('db');
export const deliverQueue = initializeQueue('deliver');
export const inboxQueue = initializeQueue('inbox');
export const dbQueue = initializeQueue('db');
export function deliver(user: ILocalUser, content: any, to: any) {
if (content == null) return null;
......
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 deliverJobCounts = await deliverQueue.getJobCounts();
const inboxJobCounts = await deliverQueue.getJobCounts();
return {
deliver: deliverJobCounts,
inbox: inboxJobCounts
};
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment