Skip to content

Commit c145d61

Browse files
committed
test: add test case
1 parent 0c15ca1 commit c145d61

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

python/bullmq/worker.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ def __init__(self, name: str, processor: Callable[[Job, str], asyncio.Future], o
5555
self.drained = False
5656
self.qualifiedName = self.scripts.queue_keys.getQueueQualifiedName(name)
5757

58-
if opts.get("autorun", True):
59-
asyncio.ensure_future(self.run())
58+
if processor:
59+
if opts.get("autorun", True):
60+
asyncio.ensure_future(self.run())
6061

6162
async def run(self):
6263
if self.running:

python/tests/worker_test.py

+25
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,31 @@ async def process(job: Job, token: str):
5555
await worker.close(force=True)
5656
await queue.close()
5757

58+
async def test_manual_process_jobs(self):
59+
queue = Queue(queueName, {"prefix": prefix})
60+
data = {"foo": "bar"}
61+
62+
worker = Worker(queueName, None, {"prefix": prefix})
63+
token = 'my-token'
64+
65+
await queue.add("test", data)
66+
67+
job = await worker.getNextJob(token)
68+
69+
is_active = await job.isActive()
70+
self.assertEqual(is_active, True)
71+
72+
await job.moveToCompleted('return value', token)
73+
74+
is_completed = await job.isCompleted()
75+
76+
self.assertEqual(is_completed, True)
77+
self.assertEqual(job.attemptsMade, 1)
78+
self.assertNotEqual(job.finishedOn, None)
79+
80+
await worker.close(force=True)
81+
await queue.close()
82+
5883
async def test_process_job_with_array_as_return_value(self):
5984
queue = Queue(queueName, {"prefix": prefix})
6085
data = {"foo": "bar"}

tests/test_worker.ts

+2
Original file line numberDiff line numberDiff line change
@@ -4165,6 +4165,8 @@ describe('workers', function () {
41654165
const isCompleted = await job.isCompleted();
41664166

41674167
expect(isCompleted).to.be.equal(true);
4168+
expect(job.attemptsMade).to.be.equal(1);
4169+
expect(job.finishedOn).to.be.fulfilled;
41684170

41694171
await worker.close();
41704172
});

0 commit comments

Comments
 (0)