2020-08-31 01:27:08 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Snowflake\Process;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use Snowflake\Abstracts\Component;
|
|
|
|
|
use Snowflake\Application;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Class Process
|
2020-08-31 12:38:32 +08:00
|
|
|
* @package Snowflake\Snowflake\Service
|
2020-08-31 01:27:08 +08:00
|
|
|
*/
|
|
|
|
|
abstract class Process extends Component
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
/** @var Application */
|
|
|
|
|
protected $application;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Process constructor.
|
|
|
|
|
* @param $application
|
|
|
|
|
* @param array $config
|
|
|
|
|
*/
|
|
|
|
|
public function __construct(Application $application, $config = [])
|
|
|
|
|
{
|
|
|
|
|
$this->application = $application;
|
|
|
|
|
parent::__construct([]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param \Swoole\Process $process
|
|
|
|
|
* @return mixed
|
|
|
|
|
*/
|
|
|
|
|
abstract public function onHandler(\Swoole\Process $process);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param $process
|
|
|
|
|
*/
|
|
|
|
|
protected function start($process)
|
|
|
|
|
{
|
2020-09-01 14:50:13 +08:00
|
|
|
do {
|
|
|
|
|
$this->onHandler($process);
|
|
|
|
|
} while (true);
|
2020-08-31 01:27:08 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|