|
|
|
| У меня вопрос. Ну хорошо можно, поставить время выполнения задания через панель управления хостера, но мне же нужен доступ к crontab. Как до него добраться? И вобще возможно ли это на виртуальном хостинге?Если кому не сложно, разьясните плз поподробнее. | |
|
|
|
|
|
|
|
для: Зосим
(10.03.2008 в 20:57)
| | Это от хостинга зависит, не везде возможно прямое редактирование файла crontab, зачастую это осуществляется через Web-интерфейс... Вы чего достигнуть хотите? | |
|
|
|
|
|
|
|
для: cheops
(11.03.2008 в 00:08)
| | Пытаюсь реализовать бой для браузерной игры, мне надо чтобы скрипт, выполнялся, каждую минуту, не зависимо от того открыта у пользователя страница или нет. Выполнился, нужное количество раз и все. Было бы конечно удобно, записать условие в crontab по первому вызову, а когда необходимость отпала, чтобы скрипт стирал условие. Но согласен на любую другую альтернативу, если есть конечно. | |
|
|
|
|
|
|
|
для: Зосим
(11.03.2008 в 00:27)
| | Запишите лучше условие в скрипт - если ничего не нужно делать он ничего делать не будет, если требуется провести какие-то действия - пусть производит. | |
|
|
|
|
|
|
|
для: cheops
(11.03.2008 в 12:51)
| |
<?
...
while($battleNotOver)
{
...
sleep(60);
}
...
?>
|
Будет это работать к примеру в течение часа или нет?
max_execution_time = 30 Вот это например, на него распространяется.
Согласен, много тем подобных, но четкого да или нет, не увидел. | |
|
|
|
|
|
|
|
для: Зосим
(11.03.2008 в 13:47)
| | Нет, я имею в виду запускать скрипт по cron каждую минуту, а скрипт проверял есть ли для него работа или нет - если имеется - выполнял, если нет - быстро завершал работу.
Скрипт приведённый выше может работать час может нет, в зависимости от того, сколько процессорного времени он будет потреблять. В любом случае, как только он потребит более 30 секунд процессорного времени - он прекратит работу - когда это произойдёт от скрипта зависит. В любом случае, если требуется надёжное решение без cron не обойтись. Однако одно cron-задание может обслуживать всех пользователей сайта. | |
|
|
|
|
|
|
|
для: cheops
(11.03.2008 в 14:45)
| | А как расчитать, сколько процессорного времени, он потребляет?Среднее время выполнения всех операторов внутри цикла предположим я знаю, мне нужно его помножить, на количество итераций цикла? Или как то сложнее все?
Предположим могу, я задать cron-задание, на каждую секунду? Есть задача скрипт выполняется, иначе exit(). | |
|
|
|
|
|
|
|
для: Зосим
(11.03.2008 в 14:59)
| | Потребляемое время практически невозможно вычислить - это от сервера, диска, процессоров, параллельных процессов зависит - практически невозможно решить эту задачу.
cron каждую секунду запускать не получится, минимальный интервал - 1 минута. | |
|
|
|
|
|
|
|
для: cheops
(11.03.2008 в 15:04)
| | Но 60 то заданий мне никто наверно, не помешает сделать, или могут?
И ещё вот какой вопросик, для полной ясности. Через панель управления, для выполнения скрипта к примеру action.php мне надо просто путь до него указать? Я же не знаю где у них php.exe находится.
>Потребляемое время практически невозможно вычислить - это от сервера, диска, >процессоров, параллельных процессов зависит - практически невозможно решить эту задачу.
Тогда каким образом max_execution_time определяет, что все пора закругляться. Может от этого возможно отталкиваться. К примеру подошло время к 80% другой скрипт, запустился и обратно. | |
|
|
|
|
|
|
|
для: Зосим
(11.03.2008 в 15:11)
| | Об настройке cron лучше почитать (или спросить с службе тех.поддержки) на страницах помощи хост-провайдера, так как у всех настройка и постановка заданий осуществляется по разному.
>Тогда каким образом max_execution_time определяет, что все пора закругляться. Может от
>этого возможно отталкиваться. К примеру подошло время к 80% другой скрипт, запустился и
>обратно.
В C и средствами операционной системы эта задача решается просто, однако, в PHP эти средства недоступны. | |
|
|
|