Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Предел запущеных процессов и crontab (https://javascript.ru/forum/server/11145-predel-zapushhenykh-processov-i-crontab.html)

greatilya 10.08.2010 07:20

Предел запущеных процессов и crontab
 
include('vars.inc.php');
include('function.php');
$conn=db_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASSWORD, $MYSQL_CHARSET);
if(!$conn) 
{
	echo "Нет соединения с БД";
	exit();
}
db_select($MYSQL_DB_NAME, $conn);



$url = 'http://news.auto.ru/rss/category_rusnews.rss';
$rss = simplexml_load_file($url);
$news = 0;
foreach ($rss->channel->item as $item) {
		$item->title = iconv("UTF-8","windows-1251",$item->title);
		$item->link = iconv("UTF-8","windows-1251",$item->link);
		$item->description = iconv("UTF-8","windows-1251",$item->description);
		if(!db_query_count("SELECT COUNT(`Message_ID`) FROM `Message71` WHERE `url`='".mysql_value($item->link)."'", $conn))
		{
		$query = db_query("INSERT INTO `Message71` VALUES (NULL, 1, 99, 123, 1, '', 1, NULL, NULL, '127.0.0.1', 'Opera/9.80 (Windows NT 6.0; U; ru) Presto/2.6.30 Version/10.60', 0, '".date('Y-m-d H:i:s', time())."', '".date('Y-m-d H:i:s', time())."', 0, NULL, NULL, NULL, '".date('Y-m-d H:i:s', strtotime($item->pubDate))."', '".mysql_value($item->title)."', '".mysql_value($item->description)."', '".mysql_value($item->description)."', '".mysql_value($item->link)."')", $conn);
		$news++;
		}
}
echo 'Added '.$news.' News';

Вот скрипт для сбора новостей. Запущен в cron с выполнением раз в 30 минут.
Сайт перестал работать через несколько дней. Хостер сказал что причина в превышении лимита запущенных одновременно процессов. Получается скрипт не выгружался из памяти. Не совсем понятно по какой причине он не выгружался, не было бы вопросов если бы у меня к примеру было бы прописано set_time_limit(0);, но а тут же он должен как я понимаю автоматически обрубиться при превышении лимита 30 или 60 секунд (базовая настрока в php.ini).
Или тут есть еще какие-либо тонкости?

Gozar 10.08.2010 08:52

1. вы не указали хостера
2. вы делаете возможно неправильный вывод и предлагаете его обсуждать
3. что ещё работает на хостинге кроме вашего скрипта по cron
4. вы утверждаете что везде php.ini одинаковый который даже не показали.
далее можно предполагать что сервера везде одинаковые, хостеры везде одинаковые и т.д.

greatilya 10.08.2010 09:03

1. хосетр: sweb.ru
2. возможно
3. работает сайт... но хостеры сказали что висят задания с кронтаба
4. согласен, как думаете, может если прописать set_time_limit(30); то это поможет делу?

Вся проблема осложняется тем, что у меня нет доступа к хостингу, а общение с хостером происходит через посредника...

Gozar 10.08.2010 10:00

Цитата:

Сообщение от greatilya (Сообщение 66874)
4. согласен, как думаете, может если прописать set_time_limit(30); то это поможет делу?

Попробуйте и узнаете.


Часовой пояс GMT +3, время: 15:30.