Перейти к контенту
  • 0

Задачи в форуме...


Вопрос

Здравствуйте!

Составил тут вот надысь задачу, поместил в положенную папку к всем остальным ииии... Проблема!

 

Задача выполняется только вручную кликом в админке, автоматом нет... Что может быть?

(отсутствие посетителей не предлагать)...

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Здравствуйте!

Составил тут вот надысь задачу, поместил в положенную папку к всем остальным ииии... Проблема!

 

Задача выполняется только вручную кликом в админке, автоматом нет... Что может быть?

(отсутствие посетителей не предлагать)...

 

Спасибо всем за поддержку... :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну а как настроили запуск задачи, с какой периодичностью?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну а как настроили запуск задачи, с какой периодичностью?

 

Всяко пробывал, и везде минусы минуты 59, и 0... И раз в сутки, и по всякому! И нифега, вручную пожалуйста, автоматом нет... Суть задачи: копирование баннера погоды на сервер с форумом... Причём в логе выполнения запись "задача выполнена"...

 

<?php
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Некорректный адрес</h1>Вы не имеете доступа к этому файлу напрямую. Если вы недавно обновляли форум, вы должны обновить все соответствующие файлы.";
exit();
}

class task_item
{
var $class	 = "";
var $root_path = "";
var $task	  = "";

/*-------------------------------------------------------------------------*/
// Our 'auto_run' function
// ADD CODE HERE
/*-------------------------------------------------------------------------*/

function run_task()
{

$Pogoda = 1;

copy ("http://informer.gismeteo.ru/27523-7.GIF" , "/home/admin/www/*****.ru/htdocs/*****/uploads/pogoda.gif");

copy ("http://informer.gismeteo.ru/xml/27523_1.xml" , "/home/admin/www/*****.ru/htdocs/*******/uploads/pogoda.xml");

	//-----------------------------------------
	// Log to log table - modify but dont delete
	//-----------------------------------------

	$this->class->append_task_log( $this->task, 'Погода обновлена' );

	//-----------------------------------------
	// Unlock Task: DO NOT MODIFY!
	//-----------------------------------------

	$this->class->unlock_task( $this->task );
}

/*-------------------------------------------------------------------------*/
// register_class
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function register_class(&$class)
{
	$this->class	 = &$class;
	$this->ipsclass  =& $class->ipsclass;
	$this->root_path = $this->class->root_path;
}

/*-------------------------------------------------------------------------*/
// pass_task
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function pass_task( $this_task )
{
	$this->task = $this_task;
}


}
?>

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ооо, мусье знает толк в извращениях.

 

Во-первых, попробуйте сделать запуск каждую минуту.

 

Во-вторых, посмотрите логи PHP

 

В-третьих, п#здить картинку и xml можно менее извращёнными способами

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Лучше так

 

$sUrl = "http://informer.gismeteo.ru/27523-7.GIF";
$rCh = curl_init();

curl_setopt($rCh, CURLOPT_URL, $sUrl);
curl_setopt($rCh, CURLOPT_HEADER, 1);
curl_setopt($rCh, CURLOPT_FAILONERROR, 1);
curl_setopt($rCh, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($rCh, CURLOPT_RETURNTRANSFER, 1);  

$sResponse = curl_exec($rCh);
$sBody = substr($sResponse, strpos($sResponse, "\r\n\r\n") + 4);
$sHeader = substr($sResponse, 0, -strlen($sBody));

$iReturnCode = curl_getinfo($rCh, CURLINFO_HTTP_CODE);
curl_close($rCh);	  

$sFilePath = 'gismeteo.gif';
$rFh = fopen($sFilePath, 'w+b');
fwrite($rFh, $sBody);
fclose($rFh);

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Может и не совсем по теме, но всё-таки по теме.

 

Обратил внимание, что выполняются не все задачи в админке даже из числа стандарных.

 

Например, судя по логам и по длиннющему списку неактивированных, удаление неактивированных пользователей не запускалось вообще ни разу за прошедшие пару месяцев, хотя в настройках стоит удаление через 3 дня.

 

Где копать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Попробовать запустить в ручную.

 

Господа, это "отмазка", а не ответ... :D Почему может сбоить автосистема запуска?

Еще замечено - в задачах время только что выполненной вручную задачи 11.25, а в логах эта же задача 14.48 (например) - норм, как в остальном форуме... Баг? ( ;) )

 

Лучше так

 

$sUrl = "http://informer.gismeteo.ru/27523-7.GIF";
$rCh = curl_init();

curl_setopt($rCh, CURLOPT_URL, $sUrl);
curl_setopt($rCh, CURLOPT_HEADER, 1);
curl_setopt($rCh, CURLOPT_FAILONERROR, 1);
curl_setopt($rCh, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($rCh, CURLOPT_RETURNTRANSFER, 1);  

$sResponse = curl_exec($rCh);
$sBody = substr($sResponse, strpos($sResponse, "\r\n\r\n") + 4);
$sHeader = substr($sResponse, 0, -strlen($sBody));

$iReturnCode = curl_getinfo($rCh, CURLINFO_HTTP_CODE);
curl_close($rCh);	  

$sFilePath = 'gismeteo.gif';
$rFh = fopen($sFilePath, 'w+b');
fwrite($rFh, $sBody);
fclose($rFh);

 

Вот, ещёб и выключил-бы админ на серваке сэйф мод.... Ну это ладно...

А зачем такая сложность? (Не дока я в PHP врать не буду...)

 

PS - Да и не пашет на серваке curl функция :-(

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Господа, это "отмазка", а не ответ... blink.gif Почему может сбоить автосистема запуска?

Потому что могут быть ошибки в скриптах. А если запустить в ручную эти ошибки как правило отражаются в логах PHP или вылазят на экран.

 

Еще замечено - в задачах время только что выполненной вручную задачи 11.25, а в логах эта же задача 14.48 (например) - норм, как в остальном форуме... Баг?

Видимо формат даты при выводе последнего времени запуска отличается от формата даты при выводе в логах. Надо посмотреть.

 

Вот, ещёб и выключил-бы админ на серваке сэйф мод.... Ну это ладно...

А зачем такая сложность? (Не дока я в PHP врать не буду...)

Сейфмод и cURL не конфликтуют друг с другом, а вот copy и сейфмод вполне. И не забываем что в taskloader есть chdir и переопределение ROOT_PATH

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Опять затычка, логи php мне не доступны....

Остальное буду осмысливать осмыслять?)... ))

 

А чем вот плох метод переноса по COPY? Будте добры...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Попробовать запустить в ручную.

Ошибка при работе с базой данных

Спасибо за совет, ушёл копать логи...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Попробовать запустить в ручную.

Ошибка при работе с базой данных

Спасибо за совет, ушёл копать логи...

 

Здесь хоть ясно куда корни уходят, есть направление поиска...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Таск удаления неподтвержденных регистраций не отрабатывает.

Автоматом не стартует, вручную запускаю - говорит "удалено 0 записей", хотя на самом деле при настройке "удалять через 2 дня" у меня висят неактивированные учетки с января 2009, более 200 дней...

 

Восстановление задач из tasks.xml не помогает.

 

ipb 2.3.5

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.