Эмуляция работы Cron на Windows. Отправка http запросов на сервер каждые 5 минут
Primary tabs
Нашел следующее решение.
Сначала надо написать скрипт, который будет отправлять http запрос. Вот он весь ниже написан на jscript (реализация javascript от Microsoft).
var request = new ActiveXObject("Msxml2.XMLHTTP.3.0");
var url = "http://localhost/cronScript.php";
request.open("GET", url);
request.send(null);
WScript.Sleep(500); // чтобы скрипт не завершился, прежде чем запрос уйдет в сетьWScript.echo("Done!!!");
Последнюю строку можно, убрать - она просто выводит сообщение (надо просто убедиться, что он отрабатывает). Строка "WScript.Sleep(500);" также определяет время работы скрипта. Весь этот код сохраните в файл c расширением .js например cronScript.js.
Теперь надо создать задачу в планировщике Windows. Для этого нажмите Win+R -> Выполнить taskschd.msc
Можно также Панель управления (расширенный вид) -> Администрирование -> Планировщик заданий.
В расположенном справа меню Действия:
- нажмите Создать задачу (или Создать простую задачу).
- В окне "Создание задачи" введите название новой задачи и ее описание.
- Переключитесь на вкладку "Триггеры" , нажмите кнопку "Создать" и назначьте дату, время и частоту выполнения задачи. Тут поставьте галочку "Повторять каждые 5 минут".
- Теперь в разделе "Действия" создайте новый пункт "запуск программы" и укажите путь к нашему cronScript.js.
Это все. Теперь если по адресу localhost/cronScript.php (а именно сюда указывает наш скрипт) поместить следующий php код
<?php $handle = fopen("cronLog.txt", "a"); $str = "Last timestamp: ".date("H:i:s")."\n"; fwrite($handle, $str); fclose($handle);
То в файл cronLog.txt будет записываться каждые 5 минут метка времени. Вот и все, ребята.
Однако стоит отметить, что есть возможность запуска скрипта (любой задачи) чаще, чем раз в 5 минут. Для этого надо просто выделить "5 мин." и написать ( именно написать, так как в впадающем списке такого нет) "1 мин." при настройке триггера. Тогда все заработает. Правда, когда я так сделал мой антивирус удалил скрипт (разумно - каждую минуту запрос на сервер). Но я восстановил его из хранилища вирусов и все заработало (можно просто добавить его в исключения антивируса).
- Log in to post comments
- 6710 reads
vedro-compota
Wed, 07/29/2015 - 12:25
Permalink
круто)
круто)
замечание: когда описываете последовательность действий/переходов оформляйте их либо списком (как это я уже переделал в вашей заметке) либо как-то так:
_____________
матфак вгу и остальная классика =)
vedro-compota
Wed, 07/29/2015 - 12:56
Permalink
php справочник
добавьте статью в PHP справочник
_____________
матфак вгу и остальная классика =)