Skip to content

Releases: dereuromark/cakephp-queue

4.0.0-RC

23 Jul 22:12

Choose a tag to compare

4.0.0-RC Pre-release
Pre-release

This is a BC breaking major

Please see Wiki for version map.

Main changes in API

  • DB only queue (removed PID file solution and deprecations)
  • All run() methods are now void. Exceptions must be used for the error case.

Improvements

  • All configs are now defaulting to sane and secure values. Easier to start with the plugin.
  • Interface contracting also for add() method.
  • No more autoloading configs from a file, you need to manually do that from your application.
  • A provided QueueException can be used for exceptions without stack trace.
  • Add bake command to generate a Queue task as well as its test case.

3.16.2

08 Apr 12:30

Choose a tag to compare

Bugfixes

  • Fix logging to work
  • Fix deprecated use of files for BC reasons

3.16.1

25 Mar 18:21

Choose a tag to compare

Improvements

  • Added configurable return code check into Execute task. Added some better docs here, too.

Bugfixes

  • Fixed error output on Execute task.

3.16.0

20 Mar 20:22
8bb4cdf

Choose a tag to compare

Improvements

Multiserver improvements

Using Queue.multiserver config you can now have the correct behavior per environment from both CLI and web backend.

Rerun

Added a re-run option for successfully run jobs on CLI
Just execute

bin/cake queue rerun MyTask {reference}

The optional reference can be an additional filter for specific jobs of this task.

Please note:
The API for reset() has slightly changed, but usually no one is directly using the result here.
It now returns the changed/touched rows (int) instead of boolean success.

Bugfixes

  • Fixed backend URLs to be post-required for modifying data.

3.15.1

13 Mar 15:06

Choose a tag to compare

Bugfixes

  • Fix local development and kill commands (Ctrl+C etc) to properly abort the queue worker process. Depending on your deployment process this could also be useful here to clean up the process list.

Improvements

  • Add link to worker process if available. This link will be gone one the worker terminated.
  • Server info will now be logged into error log data by default, as well

3.15.0

08 Mar 14:05

Choose a tag to compare

Improvements

Max workers per server

Added maxworkers config to set the max amount of workers per server. If not set or 0 it will behave as before, but with this > 0 it will assert that a cronjob cannot start more workers than currently running. It includes workers that died improperly to ensure this cannot bypass bottleneck situations where workers got marked as "to be stopped" but are still running some background script for minutes more.

Based on your memory and the jobs you are running you can estimate how many workers in parallel are the maximum you want to allow. This helps to prevent "Fatal error: Out of Memory" situations or other long-running jobs in parallel overloading your server (load >> 1).

Import/Export

It is now easier to export failed jobs and import them locally to re-run there for debugging.
You can import them as-is, or auto-resetted.

3.14.1

13 Jan 13:22
bbf9b0e

Choose a tag to compare

Bugfixes

  • Fix pid to not be int casted.
  • Validation requirePresence('workerkey') added for processes

3.14.0

06 Jan 13:30

Choose a tag to compare

Improvements

  • Removed deprecations, CakePHP 3.7+ now.
  • Easier job adding from CLI by default.
  • Added invisible way (/data/ instead of /edit/ in backend) to modify data payload for trivial cases.
  • Processes (running workers) can also now be terminated from the web backend.

Multi CLI Server Support

You can now run multiple worker servers:

  • Tracking server name per worker now - make sure you have either env('SERVER_NAME') or gethostname() return a unique name per server instance.
  • Added better deploy window handling using bin/cake queue end in the deployment script by shutting down active workers early. Either all (bin/cake queue end -q), or by server instance (bin/cake queue end server -q ).

To migrate make sure you execute this once all workers have been terminated (no active processes):

bin/cake migrations migrate -p Queue

3.13.1

17 Dec 15:57
b7f5cb0

Choose a tag to compare

Bugfixes

  • Limit the error output on the overview page.
  • Config Queue.exitwhennothingtodo is not required anymore

3.13.0

19 Nov 11:58
c1fa86f

Choose a tag to compare

Improvements

  • getOrFail() usage where required/needed.
  • FrozenTime() usage for better timezone handling
  • Prevent config loading from file if Configure key Queue.configLoaded is found.
  • Include processes status in queue settings command to display currently running jobs.
  • Colorful (green) success messages in CLI
  • Nullable improvements around DateTime