Skip to content

Commit 41de0c7

Browse files
author
Stephen Odoardi
committed
fix(2228): added transaction free deleteAndRelease() Method
1 parent 09fcda8 commit 41de0c7

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/Jenssegers/Mongodb/Queue/MongoQueue.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,13 @@ public function deleteReserved($queue, $id)
131131
{
132132
$this->database->collection($this->table)->where('_id', $id)->delete();
133133
}
134+
135+
/**
136+
* @inheritdoc
137+
*/
138+
public function deleteAndRelease($queue, $job, $delay)
139+
{
140+
$this->deleteReserved($queue, $job->getJobId());
141+
$this->release($queue, $job->getJobRecord(), $delay);
142+
}
134143
}

tests/QueueTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,20 @@ public function testIncrementAttempts(): void
103103
$this->assertCount(1, $others_jobs);
104104
$this->assertEquals(0, $others_jobs[0]['attempts']);
105105
}
106+
107+
public function testReleaseJob(): void
108+
{
109+
$job_id = Queue::push('test', ['action' => 'QueueJobExpired'], 'test');
110+
$this->assertNotNull($job_id);
111+
112+
$job = Queue::pop('test');
113+
$job->release();
114+
115+
$jobs = Queue::getDatabase()
116+
->table(Config::get('queue.connections.database.table'))
117+
->get();
118+
119+
$this->assertCount(1, $jobs);
120+
$this->assertEquals(1, $jobs[0]['attempts']);
121+
}
106122
}

0 commit comments

Comments
 (0)