LogLibJob->setConfigs( array( 'dbExecuteUser' => get_class($this), 'requestId' => 'LRT' ) ); // Loads LongRunTaskLib library $this->load->library('LongRunTaskLib'); } /** * Executes all the new LRTs */ public function execEmAll() { $this->logInfo('Execute long run tasks started'); // Get all the LRTs that is possible to execute now $lrtsResult = $this->longruntasklib->getLRTs(); if (isError($lrtsResult)) return $lrtsResult; if (hasData($lrtsResult)) { // For each LRT foreach (getData($lrtsResult) as $lrt) { // Execute the task $this->longruntasklib->executeLrt($lrt); } } $this->logInfo('Execute long run tasks ended'); } /** * */ public function killHangingLRTs() { $this->logInfo('Kill hanging LRTs started'); // Get all the LRTs that is possible to execute now $lrtsResult = $this->longruntasklib->getHangingLRTs(); if (isError($lrtsResult)) return $lrtsResult; if (hasData($lrtsResult)) { // For each LRT foreach (getData($lrtsResult) as $lrt) { // Kill the process with a SIGKILL exec('kill -9 '.$lrt->pid.' > /dev/null 2>&1'); } } $this->logInfo('Kill hanging LRTs ended'); } }