PHP Classes

File: docs/book/index.md

Recommend this page to a friend!
  Classes of Artur Graniszewski   ZEUS for PHP   docs/book/index.md   Download  
File: docs/book/index.md
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: ZEUS for PHP
Manage the execution of multiple parallel tasks
Author: By
Last change: Minor documentation fixes
Date: 7 years ago
Size: 4,254 bytes
 

Contents

Class file image Download

Build Status Coverage Status Code Climate Percentage of issues still open

Introduction

ZEUS for PHP logo

ZEUS for PHP is an event-driven, preemptive _Multitasking Runtime Environment_ and _Service Management System_ integrated with Zend Framework 3. It's main purpose is to perform multiple tasks (processes) concurrently.

To guarantee true parallelism and resource isolation ZEUS employs preemptive schedulers and an Inter-Process Communication mechanism to allow its processes to share the data.

*ZEUS for PHP is not a standalone service, in order to use it, it must be installed as a module on-top of any Zend Framework application!.*

It's designed to be compliant with any ZF3 application such as Apigility or ZendSkeletonApplication. Custom applications must provide index.php file such as this which instantiates the Zend Framework MVC Zend\Mvc\Application class.

Features

  • Preemptive schedulers allowing to run multiple services asynchronously
  • Built-in IPC server with various IPC Adapters suitable for different Operating Systems or usage characteristics
  • Server service manager allowing to start, stop and track the status of ZEUS server services
  • Well defined, extensive Server Service life-cycle based on Zend Framework `EventManager` functionality and events such as `SchedulerEvent` and `ManagerEvent`
  • Possibility to write your own asynchronous Server Services by using just few lines of boilerplate code
  • Advanced status reporting tools tracking the life-cycle and usage statistics of each service and its processes
  • Deep integration with Zend Framework 3+ and its services such as `EventManager` and `ServiceManager`
  • Plugin support allowing to extend functionality of ZEUS Schedulers and Server Services
  • Attachable, event-driven Server Services, Processes and Schedulers, allowing to react on and alter each step of their life-cycle
  • Customizable, user friendly Logger functionality based on and compatible with Zend Framework 3 `Logger` module
  • Easy configuration and customization of ZEUS components provided by Zend Framework 3 `Config` module
  • Built-in `async()` controller plugin and the Async Server Service which allow to run multiple anonymous function/closures asynchronously
  • Self hosted - ZEUS comes equipped with its own, high-speed HTTP Server Service implementation supporting HTTP/1.0 and HTTP/1.1 protocols, keep-alive connections and a deflate compression
  • Can be integrated with any Zend Framework 3 Application with just few commands issued in a terminal
  • Compatible with Zend Framework `MVC` module, enabling ZEUS to dispatch HTTP requests both for static files as well as any Zend Framework Application controller
  • Equipped with its own, customizable Memcached Server Service that is integrated with Zend Framework 3 `Cache` module, allowing to use any of its `Cache` adapters as a Memcached key storage
  • Compatible with any UNIX/Linux/BSD platform
  • Well documented and unit tested (with at least 90% code coverage)
  • Stress tested, shipped with its own benchmark tests
  • Compatible with and tested against PHP 5.6, PHP 7.0, PHP 7.1 and HHVM