tamerlib/CHANGELOG.md

60 lines
No EOL
2.5 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.0.2] - Unreleased
### Changed
- `\TamerLib\Classes\ > RedisServer > start()` now starts the server with a matching logging level to `net.nosial.loglib`
## [2.0.1] - 2023-06-30
Minor bugfixes and improvements.
### Fixed
- Fixed bug where `\TamerLib > tm > run()` would return early even if the `$timeout` is set to 0.
### Changed
- `\TamerLib > tm > do()` the parameter `$callback` is now optional. If not provided, the job result will not be
handled by the client and just be discarded.
## [2.0.0] - 2023-06-18
This version of TamerLib offers a comprehensive framework for implementing parallel processing in PHP applications.
With features aimed at scalability and robust handling of tasks and exceptions, it allows developers to build efficient,
reliable applications.
This makes previous versions of TamerLib obsolete, and as such, this version is not backwards compatible with previous
versions.
### Added
- Parallel Processing: Utilize the full power of your CPU by executing tasks concurrently using sub-processes or
remote processes.
- Task Queuing: Tasks are managed using a task queue and result queue, making it easy to keep track of tasks and their
results.
- Horizontal Scalability: TamerLib allows the creation of Tamer Nodes which act as supervisors for workers. Nodes and
workers communicate with a central Redis Server, enabling applications to scale horizontally.
- Exception Handling: Exception handling is built into TamerLib, allowing developers to catch and handle exceptions
thrown by workers.
- Introduced `tm::initialize`, `tm::createWorker` for client setup and worker creation respectively.
- Added methods `tm::do` and `tm::wait` to manage job execution and completion tracking.
- `tm::initialize`, `tm::addFunction` and `tm::run` have been added to help with setting up and managing workers.
- Node implementation introduced, allowing supervision of workers and horizontal scaling of applications.
- Workers can now throw exceptions which are caught and re-thrown on the client side.
This allows for robust error handling across different parts of the application.
## [1.0.1] - 2022-02-28
### Added
- Added more logging calls for Gearman Client
## [1.0.0] - 2022-02-09
### Added
- Initial release