Scalr\Model\Entity\FarmRoleScalingMetric::setupScalingTimes PHP Метод

setupScalingTimes() публичный Метод

Setup scaling times for DateAndTime scaling metrics
public setupScalingTimes ( )
    public function setupScalingTimes()
    {
        if (ScalingMetric::METRIC_DATE_AND_TIME_ID === $this->metricId) {
            FarmRoleScalingTime::deleteByFarmRoleId($this->farmRoleId);
            foreach ($this->settings as $key => $setting) {
                if (is_array($setting[static::WEEK_DAYS])) {
                    $setting[static::WEEK_DAYS] = ucwords(implode(', ', $setting[static::WEEK_DAYS]));
                }
                $start = $setting[static::START_TIME];
                $end = $setting[static::END_TIME];
                //create farm role scaling time
                $scalingTime = new FarmRoleScalingTime();
                $scalingTime->farmRoleId = $this->farmRoleId;
                $scalingTime->startTime = (int) $this->convertTime($start, static::SCALING_TIME_FORMAT);
                $scalingTime->endTime = (int) $this->convertTime($end, static::SCALING_TIME_FORMAT);
                $scalingTime->daysOfWeek = $setting[static::WEEK_DAYS];
                $scalingTime->instancesCount = $setting[static::INSTANCES_COUNT];
                $setting[static::START_TIME] = $this->convertTime($start, static::SETTINGS_TIME_FORMAT);
                $setting[static::END_TIME] = $this->convertTime($end, static::SETTINGS_TIME_FORMAT);
                $setting['id'] = "{$scalingTime->startTime}:{$scalingTime->endTime}:{$scalingTime->daysOfWeek}:{$scalingTime->instancesCount}";
                $scalingTime->save();
                $this->settings->offsetSet($key, $setting);
            }
        }
    }