Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

Опубликовано:
  • Автор

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

Опубликовано:

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

 

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

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

 

- inline_notifications.

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

 

 

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

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

Опубликовано:
  • Автор

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

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));

Опубликовано:
  • Автор

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

Опубликовано:

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

 

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

Опубликовано:
  • Автор

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

Опубликовано:
  • Автор

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

Опубликовано:
  • Автор

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

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));

Опубликовано:

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

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

Опубликовано:
  • Автор

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

Опубликовано:

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

 

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

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

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

Опубликовано:
  • Автор

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

  • 2 недели спустя...
Опубликовано:
  • Автор

Приветствую всех еще раз. Возникла проблема, генератор трафика ломает таблицу sessions, хотя вроде раньше он работал спокойно, в чем может быть причина?

ошибка из логов:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Date: Mon, 12 Nov 2018 05:04:12 +0000
Error: 144 - Table './ipbsessions' is marked as crashed and last (automatic?) repair failed
IP Address: xxx.xxx.xxx.xxx - /index.php/topic/42528/?view=getlastpost
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: DELETE FROM ipbsessions WHERE id='google=ba117dee326abf40cbf53e8e1fa9df77_session'
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| admin/sources/classes/session/publicSessions.php                           | [db_main_mysql].delete                                                        | 1311              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/classes/session/publicSessions.php                           | [publicSessions]._destroySessions                                             | 1133              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/classes/session/publicSessions.php                           | [publicSessions]._createGuestSession                                          | 505               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/base/ipsRegistry.php                                         | [publicSessions].__construct                                                  | 3890              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/base/ipsRegistry.php                                         | [ips_MemberRegistry].init                                                     | 3723              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/base/ipsRegistry.php                                         | [ips_MemberRegistry].instance                                                 | 616               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

Изменено пользователем 9IPOCTb

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.