Skip to content

Releases: AppsDevTeam/background-queue

v5.5.1: Order background jobs by ID for consistent processing

28 Jun 08:13

Choose a tag to compare

Ensures jobs are processed in a predictable and consistent order, preventing potential starvation of older jobs.

v5.5.0: Allow dynamic AMQP arguments based on queue name

28 Jun 08:08

Choose a tag to compare

Introduces an optional `queueArguments` parameter to the `Manager` constructor. This enables applying specific AMQP arguments, such as `x-single-active-consumer`, to queues whose names contain a defined string.

This provides more granular and flexible control over queue behavior without requiring separate queue parameter definitions for each unique configuration.

v5.4.4: Handle deadlocks in job coalescing

22 Jun 06:10

Choose a tag to compare

The `markCoalescedJobsRedundant` operation can encounter transient database deadlocks (1213) during concurrent writes. This could leave jobs stuck in a PROCESSING state.

This change adds a retry mechanism with a back-off delay for the coalesce UPDATE to overcome these transient deadlocks. Additionally, a new index `(serial_group, coalesce_threshold)` is added to optimize the WHERE clause, reducing lock contention and preventing deadlocks by allowing targeted index scans.

v5.4.3: Lower background queue job fetch limit

21 Jun 11:25

Choose a tag to compare

Reduces the maximum number of background jobs fetched and processed
per iteration from 10,000 to 1,000.

While the previous increase to 10,000 aimed to reduce database round-trips,
processing such a large batch concurrently could still lead to excessive
memory consumption for specific job types, resulting in out-of-memory
errors. This adjustment provides a better balance between database
efficiency and peak memory usage during job execution.

v5.4.1: Improve memory handling for background queue processing

21 Jun 09:15

Choose a tag to compare

Addresses potential out-of-memory errors when processing a large number of background jobs.

*   Limits the number of background jobs fetched per iteration to 10,000.
*   Increases the PHP memory limit for the console `process` command to 1GB.

v5.4: Merge pull request #61 from AppsDevTeam/priority-and-serialgroup

20 Jun 04:39
f21d046

Choose a tag to compare

v5.3.2

16 Jun 06:03
d7940d3

Choose a tag to compare

Update composer.json

v5.3.1

14 Jun 07:11

Choose a tag to compare

Merge branch 'processWaitingJobs'

v5.3: Merge pull request #59 from AppsDevTeam/processWaitingJobs

25 Mar 14:06
2c876d1

Choose a tag to compare

v5.2.1: Removes auto schema updates on each request

18 Oct 05:06

Choose a tag to compare

Being used only for localhost, this could cause problems with transactions (ALTER TABLE performs an autocommit, which breaks Doctrine’s transaction depth counter).