зацикливание скрипта

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

зацикливание скрипта

Сообщение an.viktory@gmail.com »

Код: Выделить всё

if ($count_lost == 0) {
            return $this->render('index',
                ['result' => $result,
                    'countGeocodeFault' => $countGeocodeFault,
                    'countGeocode' => $countGeocode,
                    'countNewAddresses' => $countNewAddresses,
                    'message' => $message]

            );
        } else  return $this->redirect(['index']);
ВСе происходит в экшене index

не работает зацикливание скртипта (по достижению $count_lost == 0) почему то

выполнение скрипта занимает около 2 минут поэтому не могу циклами php это зациклить))

refresh() не работает)
Последний раз редактировалось an.viktory@gmail.com 2017.03.17, 15:41, всего редактировалось 1 раз.
Krash
Сообщения: 29
Зарегистрирован: 2016.04.19, 12:43

Re: зацикливание скрипта

Сообщение Krash »

Зачем вам это?
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

взаимодейтвие со сторонним api занимет время 2-3 секунды на одн запрос) максимум 100 запросов на скрипт)
процедура чисто техническая не для ежедневного использования ) просто надоело обновлять страницу )
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

cron не подходит т.к. есть сессия )
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: зацикливание скрипта

Сообщение andku83 »

Использовать cron можно, если перенести данные из сессии, например в БД.
Редирект не срабатывает ни разу, или перестает работать после нескольких редиректов? (возможно хостинг блокирует из-за частых запросов).
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

локально на openserver
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: зацикливание скрипта

Сообщение Onotole »

Вы в действии index редиректите на index? то есть на саму себя?
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

я даже пробовал через посредника

Код: Выделить всё

return $this->redirect(['circle']);


public function actionCircle()
    {
sleep(3);
        return $this->redirect(['index']);
    }
ноль!
Последний раз редактировалось an.viktory@gmail.com 2017.03.17, 16:23, всего редактировалось 1 раз.
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: зацикливание скрипта

Сообщение someweb »

Что то такое нужно? Или я вопрос не понял...

Код: Выделить всё

    public function actionStartBatch() 
    {
        $session = Yii::$app->session;
        $session['step'] = 3;
        $this->redirect('index');
    }
    
    public function actionIndex()
    {
        $session = Yii::$app->session;
        $step = $session['step'];
        if ($step > 0 ) {
            $step--;
            $session['step'] = $step;
            sleep(5); //что то делаем
            return $this->redirect('index');
        } else {
            return $this->render('index');
        }
    }
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

мне просто надо чтобы определенный скрип выполнялся заново пока все записи в базе не буду обработаны)
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

someweb писал(а): 2017.03.17, 16:14 Что то такое нужно? Или я вопрос не понял...

Код: Выделить всё

    public function actionStartBatch() 
    {
        $session = Yii::$app->session;
        $session['step'] = 3;
        $this->redirect('index');
    }
    
    public function actionIndex()
    {
        $session = Yii::$app->session;
        $step = $session['step'];
        if ($step > 0 ) {
            $step--;
            $session['step'] = $step;
            sleep(5); //что то делаем
            return $this->redirect('index');
        } else {
            return $this->render('index');
        }
    }
У меня примерно такое же просто у тебя условие количество шагов а у меня количество оставшихся записей в таблице)
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: зацикливание скрипта

Сообщение someweb »

Ну, у меня работает.

Вложение не получается вставить...
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

у меня с виду в браузере ничего не происходит))) но процессор начинает пыхтеть)) может это происходит в фоне ?
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: зацикливание скрипта

Сообщение someweb »

Инструменты разработчика (F12), сеть, там видны все редиректы.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: зацикливание скрипта

Сообщение an.viktory@gmail.com »

запутался совсем )) буду пальчиком пажимать )
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: зацикливание скрипта

Сообщение Onotole »

Дак вы редиректите саму на себя)
Объясните нормально, что нужно. И помещайте код в специальный тег
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: зацикливание скрипта

Сообщение mat.twg »

редиректи на ссылку site.com/?unix_time
Аватара пользователя
demimurych
Сообщения: 20
Зарегистрирован: 2016.06.27, 01:58

Re: зацикливание скрипта

Сообщение demimurych »

Наверняка хром отваливается с сообщением to many redirects
Ответить