Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
9IPOCTb

Планировщик задач

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

Приветствую. Уважаемые форумчане, встал вопрос, как через планировщик задач запустить ежедневную очистку определенных таблиц, а именно:

search_keywords

spider_logs

task_logs

inline_notifications

core_share_links_log

 

т.к. эти таблицы со временем увеличиваются в размере, и занимают много дискового пространства.

Заранее спасибо за ответы!

Поделиться сообщением


Ссылка на сообщение

3 (spider_logs, task_logs, core_share_links_log) из 5 таблиц очищаются по задаче \admin\applications\core\tasks\logprune.php, если установлены настройки.

logs.png

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

спасибо а как остальные очищать? а так же таблицу sessions она растет и растет, возможно потому что стоит генератор трафика?

Поделиться сообщением


Ссылка на сообщение

Добавьте в указанный файл код для очистки других таблиц

 

- search_keywords. Не имеет колонки с временем. Можно только полностью очистить.

$this->DB->delete("search_keywords");

 

- inline_notifications.

$this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime));

 

 

а так же таблицу sessions

Эта таблица также очищается периодически

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

так правильно? или я что-то не так делаю?

if ( $this->settings['ipb_prune_mod'] )
	{
		$this->DB->delete( "moderator_logs", "ctime < " . (time() - $this->deleteTime) );
		$this->DB->delete("search_keywords");
		$this->DB->delete("sessions");
		$this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime));
	}

Поделиться сообщением


Ссылка на сообщение

Можно за пределами if написать

        if ( $this->settings['ipb_prune_mod'] )
       {
           $this->DB->delete( "moderator_logs", "ctime < " . (time() - $this->deleteTime) );
       }
       $this->DB->delete("search_keywords");
       $this->DB->delete("sessions");
       $this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime));

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

а с какой периодичностью эти таблицы будут очищаться?

Поделиться сообщением


Ссылка на сообщение

а с какой периодичностью эти таблицы будут очищаться?

 

Так посмотрите в АЦ в планировщике задач.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

вы меня простите, но я не знаю к какой именно задаче он относится(

Поделиться сообщением


Ссылка на сообщение

нашел, очистка журналов, спасибо вам большое!

Поделиться сообщением


Ссылка на сообщение

Планировщик запустил, но таблица так и не очистилась, в чем может быть проблема? код вставил ваш:

if ( $this->settings['ipb_prune_mod'] )
       {
           $this->DB->delete( "moderator_logs", "ctime < " . (time() - $this->deleteTime) );
       }
       $this->DB->delete("search_keywords");
       $this->DB->delete("sessions", "running_time < " . (time() - $this->deleteTime));
       $this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime));

Поделиться сообщением


Ссылка на сообщение

но таблица так и не очистилась

Какая именно?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

sessions не очищается

Поделиться сообщением


Ссылка на сообщение

Так там записи так долго не хранятся.

 

Можете просто без условия запускать

$this->DB->delete("sessions");

Хотя не вижу смысла, т.к. старые сессии также удаляются другой задачей

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

отлично! спасибо большое, лайкну завтра, лимит(

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...