Releases: dereuromark/cakephp-queue
4.1.1
Bugfixes
Added self-healing during queue worker-run.
4.1.0
Improvements
You can now use HTML5 progress bar (easier to style using CSS).
For this it is recommended to add the textual one from above as fallback, though:
$textProgressBar = $this->QueueProgress->progressBar($queuedJob, 18);
echo $this->QueueProgress->htmlProgressBar($queuedJob, $textProgressBar);The textual bar will only be visible for older browsers that do not support the HTML5 tag.
The same goes for the timeout progress bars.
$textTimeoutProgressBar = $this->QueueProgress->timeoutProgressBar($queuedJob, 18);
echo $this->QueueProgress->htmlTimeoutProgressBar($queuedJob, $textTimeoutProgressBar);For details see docs.
Bugfixes
Fixed PostgreSQL support for requestJob().
Travis is now fully active and passing for this DB type.
4.0.1
Bugfixes
Fixed progress display.
4.0.0
This is a BC breaking major for use with CakePHP 3.7+.
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.
- Provide visual and smart progress bars (uses the average of already run jobs if needed).
- 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.
- Costs and Unique handling for servers and workers to avoid overloading.
- Add bake command to generate a Queue task as well as its test case.
4.0.0-RC
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
Bugfixes
- Fix logging to work
- Fix deprecated use of files for BC reasons
3.16.1
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
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
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
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.