Алгоритм действий (Как быть)
Цитата: ByFly от 03.10.2016, 00:41Misha, ему надо, чтобы пользователь сам запускал скрипт 1 раз в определенный период времени, зачем для этого cron?
Допустим 1 раз в год я хочу изменить какие-то данные в профиле, например интересы.
Как это выглядит через cron:
1. Я ввожу новые интересы в профиле.
2. Жду пол года, пока cron сделать обновление.Ну, про интересы я к примеру.
А как правильно надо делать:
- Добавляем поля dataupdate (можно даже в таблицу истории, изменений или типа того)
- Вытягиваем дату последнего изменения и если текущая дата больше дата+период, то разрешаем обновить данныеЕще пример - разрешить смену кошелька с блокировкой по времени.
Допустим пользователю надо изменить кошелек, но при этом вывод средств для этого блокируется.- Пользователь вводить новый кошелек
- Добавляется запись в таблицу ed_temp (user_id, wmr, date)
- Далее добавляется cron, который раз в день делает обновление
- Далее создается скрипт, который вытягивает данные:
1) Проверка, есть ли в ed_temp какие-нибудь данные
2) Если таблица ed_temp нужна только для изменения кошелька wmr, то проверяем, есть ли кошельки, которые можно обновлять, в противном случаи присваиваем type=1 // где 1 это обновление именно кошельков, а не каких-то других операций
3) Обновляем кошельки, если это требуется и результат положительный
4) Удаляем запись из базы ed_temp и переносим в базу history или типа того (или же обновляем статус записи *ok*, то есть запись была выполнена)P.S. туплю уже и половину мыслей упустил
Misha, ему надо, чтобы пользователь сам запускал скрипт 1 раз в определенный период времени, зачем для этого cron?
Допустим 1 раз в год я хочу изменить какие-то данные в профиле, например интересы.
Как это выглядит через cron:
1. Я ввожу новые интересы в профиле.
2. Жду пол года, пока cron сделать обновление.
Ну, про интересы я к примеру.
А как правильно надо делать:
- Добавляем поля dataupdate (можно даже в таблицу истории, изменений или типа того)
- Вытягиваем дату последнего изменения и если текущая дата больше дата+период, то разрешаем обновить данные
Еще пример - разрешить смену кошелька с блокировкой по времени.
Допустим пользователю надо изменить кошелек, но при этом вывод средств для этого блокируется.
- Пользователь вводить новый кошелек
- Добавляется запись в таблицу ed_temp (user_id, wmr, date)
- Далее добавляется cron, который раз в день делает обновление
- Далее создается скрипт, который вытягивает данные:
1) Проверка, есть ли в ed_temp какие-нибудь данные
2) Если таблица ed_temp нужна только для изменения кошелька wmr, то проверяем, есть ли кошельки, которые можно обновлять, в противном случаи присваиваем type=1 // где 1 это обновление именно кошельков, а не каких-то других операций
3) Обновляем кошельки, если это требуется и результат положительный
4) Удаляем запись из базы ed_temp и переносим в базу history или типа того (или же обновляем статус записи *ok*, то есть запись была выполнена)
P.S. туплю уже и половину мыслей упустил
Цитата: Pretorian от 03.10.2016, 02:49Цитата: MARIOSда причём хостер, что он мне скрипт писать будет?
так написание команды к запуску и расписанию запуска крона вообше к скрипту не относится, делается в панели управления сервером.
Можно пойти другим путем, создать крон с повтором каждый день в полночь, а в файле крона сделать условие если прошел год, то выполняем если нет то нет. Дату при выполнение записать гдето в базе, что бы условие брало ее от туда и сравнивало с текущей. Это велосипед но он перекроет незнания в написание команд.
Ну и на крайняк, узнай какая панель у хостера, к каждой панели есть хелп на оф сайте, и там обязательно есть раздел создания крона и пункт о дате.P.S. ну или напиши тут какая панель, и когда повтор делать, и абсолютный путь к файлу крона, ну и уточни крон запускать через интерпретатор пчп (это делают к примеру когда скрипт защищает прямые переходы на файл), если запрета нет можно через вгет, и я тебе подберу полностью готовую команду, вставишь ее только в поле команда, и сохранишь.
так написание команды к запуску и расписанию запуска крона вообше к скрипту не относится, делается в панели управления сервером.
Можно пойти другим путем, создать крон с повтором каждый день в полночь, а в файле крона сделать условие если прошел год, то выполняем если нет то нет. Дату при выполнение записать гдето в базе, что бы условие брало ее от туда и сравнивало с текущей. Это велосипед но он перекроет незнания в написание команд.
Ну и на крайняк, узнай какая панель у хостера, к каждой панели есть хелп на оф сайте, и там обязательно есть раздел создания крона и пункт о дате.
P.S. ну или напиши тут какая панель, и когда повтор делать, и абсолютный путь к файлу крона, ну и уточни крон запускать через интерпретатор пчп (это делают к примеру когда скрипт защищает прямые переходы на файл), если запрета нет можно через вгет, и я тебе подберу полностью готовую команду, вставишь ее только в поле команда, и сохранишь.
Цитата: SpawN от 03.10.2016, 12:14Цитата: PretorianМожно пойти другим путем, создать крон с повтором каждый день в полночь, а в файле крона сделать условие если прошел год, то выполняем если нет то нет. Дату при выполнение записать гдето в базе, что бы условие брало ее от туда и сравнивало с текущей. Это велосипед но он перекроет незнания в написание команд. Ну и на крайняк, узнай какая панель у хостера, к каждой панели есть хелп на оф сайте, и там обязательно есть раздел создания крона и пункт о дате.дело говорит, нахера велосипед когда можно даже каждую минуту поставить, пусть запросы по крону идут, время прийдет и профиль получит свой айпдет, или боишься что очень частный крон сломает твой хостинг?
дело говорит, нахера велосипед когда можно даже каждую минуту поставить, пусть запросы по крону идут, время прийдет и профиль получит свой айпдет, или боишься что очень частный крон сломает твой хостинг?
Цитата: gemiks от 03.10.2016, 15:01Цитата: SpawNдело говорит, нахера велосипед когда можно даже каждую минуту поставить, пусть запросы по крону идут, время прийдет и профиль получит свой айпдет, или боишься что очень частный крон сломает твой хостинг?
Та даже можно крон выставить раз в сутки, в полночь к примеру, если там условие стоит что дата в году к примеру, если это др пользователя, то раз в сутки подойдет что бы сделать запись в бд о поздравлении или что там, если бы ТС написал что именно он хочет, все бы посоветовали уже по делу
Та даже можно крон выставить раз в сутки, в полночь к примеру, если там условие стоит что дата в году к примеру, если это др пользователя, то раз в сутки подойдет что бы сделать запись в бд о поздравлении или что там, если бы ТС написал что именно он хочет, все бы посоветовали уже по делу