Automattic / Automattic/kue

Job retried through the interface gets its ID passed as a string to the queue event

Open
#1,076 2 comments 0 reactions 0 assignees View on GitHub
needs pull request Optimization
Dominant language
JavaScript
Stars
9.4k
Forks
858
PR merge metrics
No merged PRs in 30d

Description

... instead of an integer.

Hello,

To test this:
- Create a test job with a `queue.process` consumer without any callback.
- Add a queue-level event `job enqueue` and watch the job id.
- Get a job stuck in active state by restarting the server.
- Retry the job while in the UI.
- Here, the job id is a string in the queue event.

```
const queue = kue.createQueue();

queue.create('test', {test:'test'})
.attempts(2)
.removeOnComplete(false);

queue.process('test', (job, ctx, done) => {
//nil
});

queue.on('job enqueue', (jobId, type) => {
console.log(jobId);
});
```

### Workaround

Use `parseInt` in the queue event.

Contributor guide

No contributing guide indexed for this repository

Research direction

No file or test is identified in the issue. Reproduce the UI retry flow with the shown queue.process consumer and queue-level 'job enqueue' listener, then trace the retry path to the event emission. Done means a retried job's ID reaches the queue event as an integer, without requiring the parseInt workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, redis
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.