PHP Classes


Recommend this page to a friend!
  Classes of Artur Graniszewski  >  ZEUS for PHP  >  >  Download  
Role: Documentation
Content type: text/markdown
Description: Auxiliary data
Class: ZEUS for PHP
Manage the execution of multiple parallel tasks
Author: By
Last change: Fix for bug: deprecated LGPL-3 license in composer.json file
Date: 2 years ago
Size: 12,094 bytes


Class file image Download


Version 1.7.4

  • [Fix] Fixed deprecated license type in composer.json file

Version 1.7.3

  • [Fix] Changed file name of coveralls binary used in Travis build
  • [Fix] Use older version of symfony/yaml for backward compatibility with PHP 5.6

Version 1.7.2

  • [Fix] ProcessTitle plugin has been disabled on MacOS systems (as on MacOS requires root privileges to change process name)

Version 1.7.1

  • [Improvement] Removed ReactPHP library from ZEUS Memcached Server and replaced it with ZEUS socket server implementation
  • [Improvement] Removed ReactPHP library from ZEUS Async Server and replaced it with ZEUS socket server implementation
  • [Improvement] Removed ReactPHP library from required packages in Composer configuration
  • [Improvement] Various stability and performance improvements in Fifo IPC Adapter (now using ZEUS socket implementation)
  • [Improvement] Moved ZEUS socket code to Kernel namespace (as a new Networking layer)
  • [Fix] Fixed Async Controller Plugin not honoring join timeout settings (could hang indefinitely on stale socket connection)
  • [Fix] Improved detection if client disconnected in ZEUS networking layer (workaround for PHP socket inconsistency)

Version 1.7.0

  • [Feature] New low level, high-speed ZEUS socket server implementation usable by any network-enabled Server Service
  • [Improvement] Removed ReactPHP library from ZEUS Web Server and replaced it with ZEUS socket server implementation
  • [Improvement] ZEUS Web Server throughput increased by 30% when serving small files (serving more than 24000 requests per second on a reference test server)
  • [Improvement] ZEUS Web Server performance increased by up to 300% for large files (now reaching transfers up to 3 Gigabytes per second)
  • [Improvement] Improved streaming support in ZEUS Web Server: memory footprint reduced considerably when handling large files
  • [Improvement] For performance reasons ZEUS Web Server will not GZIP already compressed content, nor files smaller than 4KB
  • [Improvement] ZEUS Web Server is now able to GZIP response streams of infinite size
  • [Improvement] Minor documentation and README improvements

Version 1.6.7

  • [Fix] Documentation fix in file regarding incorrect terminal command used to start Async Server Service
  • [Improvement] Minor documentation and README improvements

Version 1.6.6

  • [Improvement] Additional metadata in composer.json file

Version 1.6.5

  • [Improvement] Minor code refactoring in ZEUS Web Server + performance improvements
  • [Fix] Fix for v1.6.4 performance regression in ZEUS Web/Memcached Servers and the underlying ReactPHP Buffer class

Version 1.6.4

  • [Improvement] Performance tweaks in ZEUS Web Server, service throughput for large files increased by 800% (achieving speed of 900 megabytes per second)
  • [Improvement] Minor code refactoring in ZEUS and ReactPHP integration layer
  • [Improvement] Documentation update

Version 1.6.3

  • [Improvement] Changed image URLs to absolute in the README file

Version 1.6.2

  • [Improvement] Minor code cleanup in HTTP Server Service
  • [Improvement] Created Mkdocs documentation
  • [Improvement] Shortened README file
  • [Fix] Added description of "exiting" process status in Server Service status view

Version 1.6.1

  • [Improvement] Major performance improvement in IPC adapters (up to 10x performance increase)
  • [Improvement] Lots of code improvements based on static code analysis
  • [Fix] Standardized behaviour of disconnect() method in all IPC adapters

Version 1.6.0

  • [Feature] Implemented new Async Server Service (Experimental)
  • [Feature] Implemented async() ZF3 controller plugin that allows to execute multiple anonymous functions/closures asynchronously
  • [Fix] Better handling/reporting of broken services on ZEUS startup
  • [Fix] Fixed chunked encoding in ZEUS Web Server

Version 1.5.2

  • [Fix] Fixed bug where HTTP Server returned 400 code when PATCH request contained request body
  • [Fix] Fixed Athletic tests for IPC adapters
  • [Fix] Fixed typos in CHANGELOG file

Version 1.5.1

  • [Feature] Implemented SharedMemoryAdapter for IPC
  • [Feature] Implemented additional methods enumerating IPC adapter capabilities, such as message size limit or queue capacity
  • [Feature] Added connect() and isConnected() methods to the IPC adapters.
  • [Feature] Added & $isSuccess parameter to receive() method in IPC adapters.
  • [Fix] Fixed message indexing in a ApcAdapter IPC queue
  • [Improvement] Major performance tweaks introduced to the most of IPC adapters (up to 300% performance gain)
  • [Improvement] Implemented lazy loading of Server Services
  • [Improvement] Improved error handling and parameter validation in IPC adapters
  • [Improvement] Added Athletic benchmarks for IPC adapters.

Version 1.5.0

  • [Feature] Added plugin support to ZEUS Server Service Manager
  • [Feature] Added EventManager to ZEUS Server Service Manager
  • [Feature] Introduced Zeus\ServerService\ManagerEvent to ZEUS Server Service Manager
  • [Fix] Fixed Memcached cas command not returning NOT_FOUND error when key was invalid
  • [Improvement] Minor performance tweaks introduced to Memcached Server Service
  • [Improvement] Major refactoring of Zeus Controller and Server Service Manager code
  • [Improvement] Documentation improvements and enhancements
  • [Improvement] Test improvements and fixes
  • [Improvement] Added first set of Athletic benchmarks for Memcached and HTTP Server Services.

Version 1.4.1

  • [Feature] Added plugin support to ZEUS Scheduler
  • [Feature] Implemented two plugins: ProcessTitle and DropPrivileges
  • [Improvement] Test improvements and fixes

Version 1.4.0

  • [Feature] Added new Memcache Server Service with zend-cache storage adapters support.
  • [Fix] Major performance regression fix for ZEUS Web Server (bug introduced in version 1.3.6)
  • [Improvement] Documentation improvements and enhancements

Version 1.3.7

  • [Fix] Various fixes to ZEUS Web Server and Scheduler configuration classes based on static code analysis

Version 1.3.6

  • [Fix] Scheduler ignored custom configuration and used default LruDiscipline exclusively
  • [Fix] Typo in constructor's name of ProcessTitle class, method removed as it was never executed.
  • [Fix] Due to broken gzcompress() function in Facebook HHVM, ZEUS Web Server will now use deflate rather than gzip to compress HTTP responses
  • [Improvement] Lots of code improvements based on static code analysis, minor performance tweaks
  • [Improvement] Better handling of runtime exceptions in ZEUS Web Server
  • [Improvement] Changelog extracted from the main README file

Version 1.3.5

  • [Feature] Added stop and stop <service> CLI commands to ZEUS
  • [Feature] Added various sanity checks to IPC adapters
  • [Feature] Application exists with appropriate error code when it detects that all of its Server Services have been shut-down externally

Version 1.3.4

  • [Feature] Implemented Scheduler Disciplines functionality
  • [Feature] Extracted LRU Discipline from Scheduler core
  • [Fix] Scheduler was too aggressive in its calculations of number of spare processes to create
  • [Fix] Documentation fixes (added missing namespaces in configuration examples)
  • [Tests improvements] Improved code coverage

Version 1.3.3

  • [Tests improvements] Improved code coverage
  • [Improvement] Documentation improvements and enhancements

Version 1.3.2

  • [Fix] Quickfix for potential Task Pool exhaustion issue when using slow HTTP keep-alive connections
  • [Fix] POSIX Process MPM now uses SchedulerEvent just like the rest of ZEUS Scheduler's code
  • [Fix] Scheduler Status View console command now properly shows status of Processes in TERMINATED state

Version 1.3.1

  • [Fix] Configured Travis builds to not to use phpunit 6.x

Version 1.3.0

  • [Feature] Heavy refactoring of Scheduler events
  • [Feature] Improved Process and Scheduler life cycle.
  • [Feature] New SchedulerEvent introduced.
  • [Feature] Now its possible to provide text description along the process status
  • [Feature] Console Server Service status command shows extended status descriptions
  • [Feature] From now on each HTTP keep-alive request handled by ZEUS Web Server will reduce the TTL of entire process.

Version 1.2.3

  • [Feature] Introduced ON_PROCESS_CREATED event to Scheduler
  • [Feature] Now its possible to intercept ON_SCHEDULER_STOP event before exit()
  • [Fix] Fixed various ON_SCHEDULER_STOP event triggering inconsistencies
  • [Fix] Added ext-pcntl to Composer as required PHP extension
  • [Tests improvements] Improved code coverage + dead code removed

Version 1.2.2

  • [Feature] Added StreamLogFormatter and basic strategy that chooses between StreamLogFormatter and ConsoleLogFormatter depending on stream type.
  • [Fix] Added zendframework/zend-console as required Composer package
  • [Tests improvements] Improved code coverage

Version 1.2.1

  • [Fix] Renamed status names reported by a Service Status command to be inline with those reported by Proces Title functionality

Version 1.2.0

  • [Feature] Added new commandline options index.php zeus status and index.php zeus status <service_name>
  • [Fix] Fixed Scheduler's ON_SERVER_START and ON_SCHEDULER_START event triggering inconsistency
  • [Fix] Refactor of FixedCollection iterator code for improved HHVM compatibility
  • [Fix] Fixed request counter in ZEUS Web Server
  • [Tests improvements] Improved code coverage

Version 1.1.8

  • [Feature] Added MIME type detection to ZEUS Web Server's StaticFileDispatcher
  • [Tests improvements] Code coverage for StaticFileDispatcher
  • [Fix] ZEUS Web Server returned 404 HTTP status code instead of 400 when attempting to list a directory
  • [Fix] Fixed compatibility between FixedCollection and HHVM
  • [Fix] Resolved issue wih invalid handling of first element in FixedCollection

Version 1.1.7

  • [Fix] Fixed read/write indexing in ApcAdapter
  • [Fix] Performance fix in HTTP hosts cache (ZEUS Web Server)
  • [Tests improvements] Code coverage tests moved from PHP 5.6 to 7.1
  • [Tests improvements] Enabled APCu tests in Travis

Version 1.1.6

  • [Fix] Various fixes for IpcAdapters: MsgAdapter, ApcAdapter, FifoAdapter
  • [Fix] Fixed permissions of some PHP files

Version 1.1.5

  • [Feature] New event Zeus\Kernel\ProcessManager\SchedulerEvent::PROCESS_EXIT introduced
  • [Feature] Improved console help
  • [Unclassified] Dead code removal, README tweaks
  • [Tests improvements] More Scheduler tests added

Version 1.1.4

  • [Unit tests fix] Fix for division by zero error in PHP 5.6 unit tests in ProcessTitle class
  • [Tests improvements] Added test class for Scheduler, increased tests code coverage
  • [Fix] Fixed PHP 5.6 compatibility in Scheduler garbage collection mechanism

Version 1.1.3

  • [Feature] Enabled travis build and improved phpunit configuration
  • [Unit tests fix] Fix for failing phpunit tests due to the recent changes in ZEUS Web Server classes and interfaces
  • [Security fix] Fixed ZEUS Web Server logger throwing fatal exception and leaving open connection when HTTP request was corrupted
  • [Unclassified] Various composer.json fixes and tweaks

Version 1.1.2

  • [Composer fix] Corrected PSR4 installation path in composer.json file
  • [Documentation] Updated road-map

Version 1.1.1

  • [Composer fix] Specified ZEUS license type in composer.json
  • [Documentation fix] Fixed command syntax that installs ZEUS via Composer

Version 1.1.0

  • [Performance fix] ZEUS Web Server uses a custom React PHP Buffer implementation to overcome severe fwrite performance penalty when serving large files through a keep-alive connection
  • [Security fix] ZEUS Web Server counts the number of keep-alive requests and closes connection when the requests limit is reached.
  • [Feature] Implemented IpcLoggerInterface and IpcLoggerWriter to send logs through IPC to a Scheduler which will act as as a logger sink.
  • [Feature] Service name is now reported by a built-in logger processor

Version 1.0.0

  • Initial revision

For more information send a message to info at phpclasses dot org.