[PHP] Запуск скрипта 1 раз в день без CRON

T.R.O.N
На сайте с 18.05.2004
Offline
314
#11
Trol:
Можно такое сделать без использования CRON?

Я вот тут почитал и мне стало интересно.... а как Вы такое думали реализовать с CRON?

Что касается БД или Файл - в таких задачах, я выбираю файлы. При этом "парсить" там сильно ничего не нужно... И куки, естественно, здесь использовать придется обязательно

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
[Удален]
#12
alexspb:
ЗЫ Если подключение к базе все-равно скриптом выполняет, то один запрос с LIMIT 1 наверное проще будет, чем файлы парсить...

уверен что нет.

PHPExpert
На сайте с 04.02.2006
Offline
104
#13
bearman:
уверен что нет.

Уверен что стоит проверить. Тем более MySQL умеет кэшировать результаты.

[Удален]
#14

PHPExpert, уверен - проверь. я уверен без проверок.

ewg777
На сайте с 04.06.2007
Offline
225
#15

В данном случае бд будет лишь данью моде.


$fileName = '.flag';
$lastEdit = date ('d', filemtime($fileName));
$nowDay = date('d');

if ($lastEdit !== $nowDay) {
touch($fileName);
require 'exec.php';
}
[Удален]
#16
ewg777:
if (!$lastEdit===$nowDay) {

не люблю такую конструкцию, ты всегда так пишешь?

if ($lastEdit!=$nowDay) {

я бы так написал)

bearman добавил 12.01.2010 в 14:13


$fileName = '.flag';
$lastEdit = date ('d', filemtime($fileName));
$nowDay = date('d');

if ($lastEdit!=$nowDay) {
touch($fileName);
require 'exec.php';
}
[Удален]
#17
T.R.O.N:
И куки, естественно, здесь использовать придется обязательно
alexspb:
да надо просто комбинировать, чтобы не делать лишних запросов - само простое - сажать куку, а при ее отсутствии проверять.

причем тут кука 😮

MOP1 добавил 12.01.2010 в 17:27

по крону запустите свой скрипт в 12 часов ночи и не извращайтесь ;)

PHPExpert
На сайте с 04.02.2006
Offline
104
#18
bearman:
PHPExpert, уверен - проверь. я уверен без проверок.

Проверил.


$file = 'load_date.txt';
$load_date = file_get_contents($file);
if($load_date)
{
file_put_contents($file, time());
}

На открытие файла для чтение даты с помощью $load_date = file_get_contents($file); ушло 0.67 ms

На получение даты через SELECT уйдёт 0.1 ms, это я даже проверять не буду. Если включено кэширование, то такой запрос даже выполняться не будет каждый раз, MySQL возьмёт его из памяти, а не файла! Конечно много можно спорить, но если уж сайт использует СУБД, то лучше использовать её.

[Удален]
#19

PHPExpert, классн посмешил. сравнил селект с записью файла.


$file = 'load_date.txt';
$load_date = file_get_contents($file);
if($load_date)
{
file_put_contents($file, time());
}

спасибо молодец, пошел за попкорном. ты хоть сам то понял что сравнивал и как? коды выложи тестов своих хотя бы.

PHPExpert
На сайте с 04.02.2006
Offline
104
#20

Запись я не учитывал, только чтение. Я же написал. $load_date = file_get_contents($file); ушло 0.67 ms

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий