Skip to content

Releases: AppsDevTeam/background-queue

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

Choose a tag to compare

@thorewi thorewi released this 28 Jun 08:13
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

Choose a tag to compare

@thorewi thorewi released this 28 Jun 08:08
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

Choose a tag to compare

@thorewi thorewi released this 22 Jun 06:10
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

Choose a tag to compare

@thorewi thorewi released this 21 Jun 11:25
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

Choose a tag to compare

@thorewi thorewi released this 21 Jun 09:15
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

Choose a tag to compare

@thorewi thorewi released this 20 Jun 04:39
f21d046
Priority and serialgroup

v5.3.2

Choose a tag to compare

@thorewi thorewi released this 16 Jun 06:03
d7940d3
Update composer.json

v5.3.1

Choose a tag to compare

@thorewi thorewi released this 14 Jun 07:11
Merge branch 'processWaitingJobs'

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

Choose a tag to compare

@thorewi thorewi released this 25 Mar 14:06
2c876d1
Process waiting jobs

v5.2.1: Removes auto schema updates on each request

Choose a tag to compare

@thorewi thorewi released this 18 Oct 05:06
Being used only for localhost, this could cause problems with transactions (ALTER TABLE performs an autocommit, which breaks Doctrine’s transaction depth counter).