getTypeByName() public static method

public static getTypeByName ( $name )
コード例 #1
0
    public function xListTasksAction()
    {
        $this->request->defineParams(array('sort' => array('type' => 'json')));
        $sql = 'SELECT id, name, type, target_id as targetId, target_type as targetType, start_time as startTime,
			end_time as endTime, last_start_time as lastStartTime, restart_every as restartEvery, config, order_index as orderIndex,
			status, timezone FROM `scheduler` WHERE `env_id` = ? AND :FILTER:';
        $response = $this->buildResponseFromSql($sql, array('id', 'name', 'type', 'startTime', 'endTime', 'lastStartTime', 'timezone', 'orderIndex', 'status', 'timezone'), array('id', 'name'), array($this->getEnvironmentId()));
        foreach ($response['data'] as &$row) {
            switch ($row['targetType']) {
                case Scalr_SchedulerTask::TARGET_FARM:
                    try {
                        $DBFarm = DBFarm::LoadByID($row['targetId']);
                        $row['targetName'] = $DBFarm->Name;
                    } catch (Exception $e) {
                    }
                    break;
                case Scalr_SchedulerTask::TARGET_ROLE:
                    try {
                        $DBFarmRole = DBFarmRole::LoadByID($row['targetId']);
                        $row['targetName'] = $DBFarmRole->GetRoleObject()->name;
                        $row['targetFarmId'] = $DBFarmRole->FarmID;
                        $row['targetFarmName'] = $DBFarmRole->GetFarmObject()->Name;
                    } catch (Exception $e) {
                    }
                    break;
                case Scalr_SchedulerTask::TARGET_INSTANCE:
                    $serverArgs = explode(':', $row['targetId']);
                    try {
                        $DBServer = DBServer::LoadByFarmRoleIDAndIndex($serverArgs[0], $serverArgs[1]);
                        $row['targetName'] = "({$DBServer->remoteIp})";
                        $DBFarmRole = $DBServer->GetFarmRoleObject();
                        $row['targetFarmId'] = $DBServer->farmId;
                        $row['targetFarmName'] = $DBFarmRole->GetFarmObject()->Name;
                        $row['targetRoleId'] = $DBServer->farmRoleId;
                        $row['targetRoleName'] = $DBFarmRole->GetRoleObject()->name;
                    } catch (Exception $e) {
                    }
                    break;
                default:
                    break;
            }
            $row['type'] = Scalr_SchedulerTask::getTypeByName($row['type']);
            $row['startTime'] = $row['startTime'] ? Scalr_Util_DateTime::convertDateTime(new DateTime($row['startTime']), $row['timezone'])->format('M j, Y H:i:s') : 'Now';
            $row['endTime'] = $row['endTime'] ? Scalr_Util_DateTime::convertDateTime(new DateTime($row['endTime']), $row['timezone'])->format('M j, Y H:i:s') : 'Never';
            $row['lastStartTime'] = $row['lastStartTime'] ? Scalr_Util_DateTime::convertDateTime(new DateTime($row['lastStartTime']), $row['timezone'])->format('M j, Y H:i:s') : '';
            $row['config'] = unserialize($row['config']);
            $row['config']['scriptName'] = $this->db->GetOne("SELECT name FROM scripts WHERE id=?", array($row['config']['scriptId']));
        }
        $this->response->data($response);
    }