public function cleanObject() { foreach ($this as $p => $v) { if (!$v instanceof \Threaded and !in_array($p, ["isFinished", "isGarbage", "cancelRun"])) { $this->{$p} = null; } } }
private function removeTask(AsyncTask $task, $force = false) { if (isset($this->taskWorkers[$task->getTaskId()])) { if (!$force and ($task->isRunning() or !$task->isGarbage())) { return; } $this->workerUsage[$this->taskWorkers[$task->getTaskId()]]--; } unset($this->tasks[$task->getTaskId()]); unset($this->taskWorkers[$task->getTaskId()]); $task->cleanObject(); }