diff --git a/README.md b/README.md index 79fe12be..61ab7891 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,10 @@ You can `docker pull` Arena from [Docker Hub](https://hub.docker.com/r/mixmaxhq/ Please see the [docker-arena] repository for details. +### Official UIs + +- [Taskforce](https://taskforce.sh) for Bull and Bullmq + ### Contributing See [contributing guidelines](CONTRIBUTING.md) and [an example](example/README.md). diff --git a/src/server/views/api/repeatableJobRemove.js b/src/server/views/api/repeatableJobRemove.js index 09b41b60..6e8c4503 100644 --- a/src/server/views/api/repeatableJobRemove.js +++ b/src/server/views/api/repeatableJobRemove.js @@ -9,7 +9,11 @@ async function handler(req, res) { if (!job) return res.status(404).send({error: 'job not found'}); try { - await queue.removeRepeatableByKey(job.opts.repeat.key); + if (job.opts.repeat.key) { + await queue.removeRepeatableByKey(job.opts.repeat.key); + } else { + await queue.removeRepeatable(job.name, job.opts.repeat); + } return res.sendStatus(200); } catch (e) { const body = { diff --git a/src/server/views/dashboard/jobDetails.js b/src/server/views/dashboard/jobDetails.js index 7d9030d4..be5c9785 100644 --- a/src/server/views/dashboard/jobDetails.js +++ b/src/server/views/dashboard/jobDetails.js @@ -35,8 +35,7 @@ async function handler(req, res) { job.showRetryButton = !queue.IS_BEE || jobState === 'failed'; job.retryButtonText = jobState === 'failed' ? 'Retry' : 'Trigger'; job.showPromoteButton = !queue.IS_BEE && jobState === 'delayed'; - job.showDeleteRepeatableButton = - queue.IS_BULL && job.opts.repeat && job.opts.repeat.key; + job.showDeleteRepeatableButton = queue.IS_BULL && job.opts.repeat; const stacktraces = queue.IS_BEE ? job.options.stacktraces : job.stacktrace; if (!queue.IS_BEE) { diff --git a/src/server/views/dashboard/queueJobsByState.js b/src/server/views/dashboard/queueJobsByState.js index c941ec5e..3bc72581 100644 --- a/src/server/views/dashboard/queueJobsByState.js +++ b/src/server/views/dashboard/queueJobsByState.js @@ -130,8 +130,7 @@ async function _html(req, res) { job.showRetryButton = !queue.IS_BEE || jobState === 'failed'; job.retryButtonText = jobState === 'failed' ? 'Retry' : 'Trigger'; job.showPromoteButton = !queue.IS_BEE && jobState === 'delayed'; - job.showDeleteRepeatableButton = - queue.IS_BULL && job.opts.repeat && job.opts.repeat.key; + job.showDeleteRepeatableButton = queue.IS_BULL && job.opts.repeat; job.parent = JobHelpers.getKeyProperties(job.parentKey); }