LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 21:22:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Мамбот автоматической очистки кеша в Joomla!  (Прочитано 20479 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« : 02.06.2008, 12:46:29 »

На многих хостингах ограничено дисковое пространство под сайт, а с увеличением объема контента на сайте папка /cache имеет тенденцию значительно увеличиваться в своем размере. При этом бóльшая часть файлов в кеше уже давно устарела, но она просто не удаляется автоматически. В результате может возникнуть ситуация, когда не удается установить новое расширение или даже внести изменения в БД по причине нехватки свободного дискового пространства. Чтобы избежать такой проблемы, был написан простенький мамбот, который очищает папку /cache от устаревших файлов примерно при каждом 100-м обращении к сайту. На время генерации страницы это никак не влияет, т.к. все действия выполняются после того, как страница отдана пользователю.

Ниже выложены файлы:
botClearCache.zip — для версии Joomla!1.0
plgClearCache.zip — для версии Joomla!1.5

09.02.2009 В версии для 1.5 исправлена проблема, связанная с возможным удалением файлов в корне сайта.

* botClearCache.zip (0.93 Кб - загружено 460 раз.)
* plgClearCache.zip (1.1 Кб - загружено 946 раз.)
« Последнее редактирование: 09.02.2009, 13:20:01 от Physicist » Записан
 
faker666
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 22


« Ответ #1 : 02.06.2008, 15:54:36 »

спасибо большое, очень полезная вещь.
Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #2 : 26.06.2008, 22:09:17 »

Респект автору!!! Давно думал об этом. Клиентам не объяснишь, что время от времени нужно чистить кэш. Теперь об этом можно не заботиться. Здорово!
Записан
ghibon
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 76



« Ответ #3 : 26.06.2008, 22:52:29 »

а очищает любой кеш? только папку cashe? если в компоненте предусмотренно кеширование, там не очищает?
Записан
pedrosoft
Завсегдатай
*****

Репутация: +111/-7
Offline Offline

Пол: Мужской
Сообщений: 596



« Ответ #4 : 28.06.2008, 20:46:18 »

чистить только файлы находящиеся в каталоге cache начинающиеся с названия cache_
Записан
Byld0zer
Гость
« Ответ #5 : 15.08.2008, 19:33:41 »

я так понял, он подчищает кэш каждые 8 часов?
а как отрегулировать это дело?

ПС: спасибо, мамбот очень пригодился. Папка кэш росла как после растишки.
Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #6 : 01.09.2008, 21:05:24 »

Было бы очень актуально сделать версию мамбота для Joomla! 1.5.x
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #7 : 02.09.2008, 10:16:19 »

Выложил аналогичный плагин для Joomla!1.5 (см. первый пост). Но он удаляет ВЕСЬ кэш через время указанное в глобальных настройках сайта (по-умолчанию это 15 минут), в том числе и кэш модулей (независимо от того, какое время жизни указано в настройках модуля).

Если для кого-то существенно различие во времени жизни обычного кэша и кэша модулей — пишите, что-нибудь придумаем.
Записан
Strange@R
Новичок
*

Репутация: +0/-2
Offline Offline

Сообщений: 3


« Ответ #8 : 26.09.2008, 14:15:50 »

Респект! а в самой джомле вроде выставляется время жизни кэшей даже индивидуально для модулей (900 секунд) - оно значить работает по какому-то иному принципу?
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #9 : 26.09.2008, 15:03:33 »

надо чистить не только папку cache, но и вложенные папки
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #10 : 26.09.2008, 15:05:31 »

Респект! а в самой джомле вроде выставляется время жизни кэшей даже индивидуально для модулей (900 секунд) - оно значить работает по какому-то иному принципу?
В Joomla выставляется в течение какого времени файл с кэшем будет использоваться. Проблема в том, что по истечении указанного времени файл просто перестает использоваться, а не удаляется. Далее этот файл может быть либо перезаписан новой версией (если за это время на сайте особых изменений не произошло), либо навеки так и останется лежать на сервере никому не нужным.

надо чистить не только папку cache, но и вложенные папки
В версии для J!1.5 именно так и работает, а в J!1.0 достаточно чистить только /cache.
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #11 : 26.09.2008, 15:33:01 »

В версии для J!1.5 именно так и работает, а в J!1.0 достаточно чистить только /cache.
ну я ж не НЕ ПРОСТО ТАК написал.
повторяю: НАДО Grin

зы. лично я прикручиваю кэш индивидуально по папкам
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #12 : 26.09.2008, 15:41:43 »

повторяю: НАДО Grin
зы. лично я прикручиваю кэш индивидуально по папкам
Сделать-то всё можно. Ты просто объясни, что ты и куда «прикручиваешь», а то мало ли — что-нибудь не то «откручу».
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #13 : 26.09.2008, 22:59:59 »

лехко.

require_once( $mosConfig_absolute_path '/includes/joomla.cache.php' );
$caching = (bool) $caching;
$options = array(
	
'cacheDir'
	
	
=> 
$mosConfig_cachepath '/com_news/', <======= DIRECTORY
	
'caching'
	
	
=> 
$caching,
	
'defaultGroup'
	
=> 
'com_news',
	
'lifeTime'
	
	
=> 
$time
);
$cache = new JCache_Lite_Function$options );
Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #14 : 27.09.2008, 17:06:24 »

Кстати, было бы неплохо заодно чистить папку components/libraries/cmslib/cache (J1.0.x)

Сейчас удаляю старый полигон - в этой папке сотни временных файлов.
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #15 : 29.09.2008, 17:43:14 »

userxp, проблема в том, что при ручном создании объектов JCache_Lite_Function можно варьировать не только путь (который вовсе не обязан быть в /cache/), но и время жизни кэша. Откуда мой плагин может знать, какое время жизни выставлено для в каком-то смысле «стороннего» кэша и когда его нужно удалять? По-хорошему, это должно лежать на совести того, кто использует такие «извращения».

Sulpher, это тоже должно быть на совести azrul.com, хотя добавить такой функционал в плагин — не проблема.


PS. Вообще было бы неплохо, если бы у файлов кэша время создания выставлялось равным времени удаления — тогда у каждого файла могло бы быть свое время жизни, а удалять приходилось бы только те файлы, даты создания которых лежат в прошлом.
Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #16 : 12.10.2008, 12:04:24 »

В моём случае папка всё равно пухнет и кол-во файлов переваливает за тысячи. Может причина в правах файлов? Например, сервер генерирует файлы, а у мамбота нет прав на удаление...
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #17 : 12.10.2008, 23:44:58 »

Вряд ли причина в правах на файлы. Напиши мне в личку/аську — попробуем разобраться.
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #18 : 01.11.2008, 20:58:16 »

В связи с тем, что в последних версиях 1.5.x файлы кэша имеют расширение .php, а не .cache, пришлось внести соответствующие изменения в plgClearCache.zip. Обновленная версия — во вложении к первому посту.
Записан
7Rei
Давно я тут
****

Репутация: +20/-0
Offline Offline

Пол: Мужской
Сообщений: 358


« Ответ #19 : 08.11.2008, 13:59:41 »

Добрый день. После установки данного плагина, два раза бесследно, исчезали php файлы корня (index, configuration, license...)! После его отключения, все стало нормально.
Пришлось отказаться от использования этого замечательного плагина Sad
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #20 : 08.11.2008, 15:03:49 »

7Rei, о какой версии joomla идет речь?
Записан
7Rei
Давно я тут
****

Репутация: +20/-0
Offline Offline

Пол: Мужской
Сообщений: 358


« Ответ #21 : 08.11.2008, 15:31:30 »

7Rei, о какой версии joomla идет речь?
joomla 1.5.7, php5.2.6, включен кешь в глобальных настройках + плагин кеша
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #22 : 08.11.2008, 15:50:23 »

Вообще-то странно, должны файлы удаляться только из /cache/.
Я тут ниже прикрепляю плагин, который очищает кэш через встроенный в J!1.5.7 механизм (но может не работать на предыдущих версиях J!1.5). Кстати, ircmaxel обещает, что такой механизм очистки будет встроен в J!1.6.

* clearcache.plugin.zip (0.86 Кб - загружено 247 раз.)
Записан
Magic12
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 14


« Ответ #23 : 11.11.2008, 14:01:44 »

Спасибо огромное. Очень нужный мамбот! 
« Последнее редактирование: 11.11.2008, 14:05:25 от Magic12 » Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #24 : 21.11.2008, 22:01:50 »

Денис, плагин, прикрепленный несколькими постамы выше, предпочтительнее использовать на J1.5.8 вместо топик стартового plgClearCache.zip?

Небольшая информация к сведению.
При настройке сайта, включил нотисы:

Цитировать
Error: headers already sent in clearcache.php on line 9.
Stopped at line 906 in joomsef.php: HEADERS ALREADY SENT (200)
URL=http://mysite.ru/index.php?option=com_virtuemart&Itemid=2:
OPTION=com_virtuemart:

SEO Joomla 1.0.15
ВМРЕ 1.0.15
« Последнее редактирование: 21.11.2008, 23:38:36 от Sulpher » Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #25 : 21.11.2008, 23:35:29 »

Оказывается, в первом посту прикреплен старый архив (там нужно имя функции в кавычки взять). Мне казалось, что я его заменял (причем, судя по дате локальной версии архива, это было 2 сентября). Сейчас перезалью еще раз.
Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #26 : 21.11.2008, 23:39:27 »

Цитировать
Оказывается, в первом посту прикреплен старый архив (там нужно имя функции в кавычки взять). Мне казалось, что я его заменял (причем, судя по дате локальной версии архива, это было 2 сентября). Сейчас перезалью еще раз.
Думаю, имеет смысл пояснить, что речь идёт о плагине для Joomla 1.0. Всем обновляться. Azn
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #27 : 09.02.2009, 13:20:58 »

В версии для 1.5 исправлена проблема, связанная с возможным удалением файлов в корне сайта.
Записан
nordauto29
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 30


« Ответ #28 : 02.03.2009, 12:55:20 »

спасибо. будем тестить.
Записан
friend111
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 82


« Ответ #29 : 02.03.2009, 23:47:43 »

Если я правильно понял настройку мамбота для версии Joomla!1.0 можно  изменить здесь
if(mt_rand(1,100)==1) , допустим вместо 100 поставить 1000 и кеш будет удаляться через 1000 обращений к сайту, правильно или нет? dry
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet