Задача по расписанию (cron)

Автор KainCq, 24 июня 2011, 10:09:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

KainCq

На форуме установлен парсер сообщений, но при парсинге не обновляется счетчик тем и сообщений. Для того что бы они обновились необходимо нажимать  Админка --> Обслуживание --> Ремонт --> Пересчитать все форумы и статистику.

Как можно настроить что бы форум автоматически делал данное действие раз в 6 часов?

chilly86

найти комп, который работает 24 часа в сутки, забить в адресную строку http://форум/index.php?action=boardrecount (для еденицы)
и поставить на автообновление каждые 6 часов  :D
to live is to die

KainCq


Макар

Если не ошибаюсь записи о задачах находятся в бд . Посмотреть и сделать по аналогии .
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

KainCq

Был бы очень признателен если бы еще помогли найти данные записи =)

Макар

Смогу посмотреть только поздно ночью.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

KainCq

Супер =) Я как раз по ночам работаю

Макар

по ночам ?
тогда занятие на всю ночь  2funny

собственно действовать по примеру
берешь мод rss feed , а лучше Redirection Topics и в том и в том есть пример как создать собственную задачу для выполнения по расписанию  :)

пример

<file name="$sourcedir/ScheduledTasks.php">
<operation>
<search position="end" />
<add><![CDATA[function scheduled_redirectExpiry() {
global $smcFunc, $sourcedir;
require_once($sourcedir . '/RemoveTopic.php');

// Need this in order to load the language files.
loadEssentialThemeData();

$topic_list = array();
$query = $smcFunc['db_query']('', '
SELECT id_topic FROM {db_prefix}redirect_expire WHERE expiry <= {int:expiry} AND expiry > 0',
array(
'expiry' => time(),
)
);

while($row = $smcFunc['db_fetch_row']($query)) {
$topic_list[] = $row[0];
}
$smcFunc['db_free_result']($query);

if(count($topic_list) > 0)
removeTopics($topic_list, false, true); // remove topics, don't remove post count, do ignore recycling

return true;
}]]></add>
</operation>
</file>


$query = $smcFunc['db_query']('', '
SELECT id_task FROM {db_prefix}scheduled_tasks WHERE task = "redirectExpiry"
');

if ($smcFunc['db_num_rows']($query) == 0)
$smcFunc['db_insert']('insert',
'{db_prefix}scheduled_tasks',
array(
'id_task' => 'int',
'next_time' => 'int',
'time_offset' => 'int',
'time_regularity' => 'int',
'time_unit' => 'string',
'disabled' => 'int',
'task' => 'string',
),
array(
0,
0,
0,
1,
'd',
0,
'redirectExpiry',
),
array('id_task')
);



в общем ковыряешь, глядишь к утру получится  O0
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny