You've already forked qlg.tsgz.moe
							
							Init Repo
This commit is contained in:
		
							
								
								
									
										61
									
								
								thinkphp/library/think/process/exception/Timeout.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								thinkphp/library/think/process/exception/Timeout.php
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
<?php
 | 
			
		||||
// +----------------------------------------------------------------------
 | 
			
		||||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
 | 
			
		||||
// +----------------------------------------------------------------------
 | 
			
		||||
// | Copyright (c) 2006~2015 http://thinkphp.cn All rights reserved.
 | 
			
		||||
// +----------------------------------------------------------------------
 | 
			
		||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
 | 
			
		||||
// +----------------------------------------------------------------------
 | 
			
		||||
// | Author: yunwuxin <448901948@qq.com>
 | 
			
		||||
// +----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
namespace think\process\exception;
 | 
			
		||||
 | 
			
		||||
use think\Process;
 | 
			
		||||
 | 
			
		||||
class Timeout extends \RuntimeException
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    const TYPE_GENERAL = 1;
 | 
			
		||||
    const TYPE_IDLE    = 2;
 | 
			
		||||
 | 
			
		||||
    private $process;
 | 
			
		||||
    private $timeoutType;
 | 
			
		||||
 | 
			
		||||
    public function __construct(Process $process, $timeoutType)
 | 
			
		||||
    {
 | 
			
		||||
        $this->process     = $process;
 | 
			
		||||
        $this->timeoutType = $timeoutType;
 | 
			
		||||
 | 
			
		||||
        parent::__construct(sprintf('The process "%s" exceeded the timeout of %s seconds.', $process->getCommandLine(), $this->getExceededTimeout()));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getProcess()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->process;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function isGeneralTimeout()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->timeoutType === self::TYPE_GENERAL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function isIdleTimeout()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->timeoutType === self::TYPE_IDLE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getExceededTimeout()
 | 
			
		||||
    {
 | 
			
		||||
        switch ($this->timeoutType) {
 | 
			
		||||
            case self::TYPE_GENERAL:
 | 
			
		||||
                return $this->process->getTimeout();
 | 
			
		||||
 | 
			
		||||
            case self::TYPE_IDLE:
 | 
			
		||||
                return $this->process->getIdleTimeout();
 | 
			
		||||
 | 
			
		||||
            default:
 | 
			
		||||
                throw new \LogicException(sprintf('Unknown timeout type "%d".', $this->timeoutType));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user