1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cqcqphper-taskPHP

 / Детали:

На самом деле невозможно выполнить задачу по расписанию

Предстоит сделать
Владелец
Создано  
29.11.2024

taskPHP / core / lib / WorkerExe.php
Примерно в 60-й строке кода:

		register_shutdown_function(array($this,'shutdown_function'));
		while ($run===true||$run-->0){
			$this->_worker=Queue::brPop(static::$_worker_exec,0);//Взять из очереди
			if($this->_worker==null){
			    continue;
			}
			if (!($this->_worker instanceof Task)){
				unset($this->_worker);
				continue;
			}
			try{
				ob_start();
				$this->_worker->run();
				$data=ob_get_contents();
				ob_end_clean();
			}catch(Exception $e){
				Log::input(array($this->_worker,$e->getMessage()),1);
			}
			unset($data);
		}

Этот код ясно показывает, что задача извлекается из очереди и выполняется синхронно. В реальных проектах это неприемлемо, так как задачи должны выполняться одновременно или перекрываться во времени.
Мои рекомендации:
1: PHP не подходит для создания серверных систем;
2: Если всё же необходимо реализовать, то производительность и эффективность выполнения будут очень низкими, а затраты не оправдают результат;
3: Лучше использовать PHP для разработки веб-приложений.

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/cqcqphper-taskPHP.git
git@api.gitlife.ru:oschina-mirror/cqcqphper-taskPHP.git
oschina-mirror
cqcqphper-taskPHP
cqcqphper-taskPHP