F

fazer

+22
Репутация
9
Рейтинг
#1 Очистка upload по cron 15 октября 2019 в 06:57
Ну ежели всем по...
я сделал по феншую, т.е. ни каких ошибок если в планировщике нажать "выполнить сейчас" — не будет,
но очистка ЗАПУСТИТСЯ и выполнит всё что вы ей пожелали, если объемы большие — это надолго....
защита от повторных запусков — есть,
узнать ошибки, время выполнения — можно глянув файл (спустя некоторое время)
вашсайт.ru/upload/cleaner_errors.txt

сам модуль:
cleaner-v2_15102019.zip
тем кто рискнул пользовать "очиститель" рекомендую обновиться до посл. версии
(простой переустановкой, настройки обнулятся, поэтому позаботьтесь об их сохранности)




###########################################################################
НАПОМИНАЮ
Для работы компонента ТРЕБУЮТСЯ системные модули perl DBD-MySQL и DB_File
на красной шапке, сентосе ставится так:
# yum install perl-DBI perl-DBD-MySQL perl-DB_File
на убунте, дебиане:
# apt-get install libdbi-perl libdbd-mysql-perl
###########################################################################
если вы не понимаете о чём всё это, НЕ устанавливайте этот модуль, не заработает :)
#2 Очистка upload по cron 14 октября 2019 в 15:11

Может в сео форума прописать "Клуб Петросян" ?

@noname
А можно? :)
#3 Очистка upload по cron 14 октября 2019 в 14:43

Надо что бы говорила "Айя-яй!" © laugh

Rainbow
так в этом и прикол, Айя-яйя то нету, по фэншую как раз "тихое" нажатие — правильнее
но будут ведь тыркать в кнопку и ругаться что "ни чего не происходит" dance
#4 Очистка upload по cron 14 октября 2019 в 12:48

Для запуска по крону (для работы в автоматическом режиме) эта кнопка не нужна )))

Loadырь
к сожалению, или к счастию она там есть и выдрать её из icms2 я не могу, а желающие на неё нажать найдутся с вероятностью 99.и 9 в девятой в периоде

но сайт при этом "виснет".

Loadырь
да не не виснет, сообщение только будет от апачи

так как это сделано в другом компоненте с выводом подробной информации, а не тупо "всё хорошо" или "всё плохо"

Loadырь
вот это к сожалению не возможно однозначно, на больших базах несколько минут, ни один php не дождется
а мой вопрос к народу заключается в элементарном:
  1. "как вам легче/удобней воспринимать реакцию на кнопку которую ваще лучше не жать, но уж коли...."?
#5 Очистка upload по cron 14 октября 2019 в 12:17


а вдруг где какой косяк или обновление

vikont
А вы говорите… да людям пофиг на всё, обновления я сам себе пишу )))
#6 Очистка upload по cron 14 октября 2019 в 11:46


Где тут речь про "автомат"?

Loadырь
хм… я аж поперхнулся )))
да с самого начала топика

Хай ол, я тут себе очиститель папки upload замутил по хрону

fazer
а… я понял… вы прикалываетесь, видимо я вас где-то поддостал )))
#7 Очистка upload по cron 14 октября 2019 в 11:26


instantcms.ru/addons/cleaner.html

Loadырь
зачем вам ещё один чистильщик, здесь феня в том что всё на автомате, не расставляя галок
а ваще — да, обожаю высказывание "сделай красиво" )))
#8 Очистка upload по cron 14 октября 2019 в 10:32
я тут репу почесал и понял, что всё же есть одна непонятка в моём Идеальном(шутка) скрипте…
даже не в скрипте а в модуле "cleaner"
если в штатном кроне инстанта жмякнуть белый трехугольник в синем кругу("выполнить сейчас"), и ваша база велика
— апач/инжиникс отвалится по таймауту, и что ещё хуже если тутже(с другого бравзера) жмякнуть ещё раз
может запустится дупликат очистилки....
Дуплицирование я устранил, а вот внимание вопрос:
Люди вам как надо при жмякании этого белого трех угольника (задание будет выполняться по любому в фоне)
а) веб сервер уходит в таймаут и браузер вам это рассказывает
либо
б) в браузере вы увидите "Задача «Очистка upload» была выполнена " (без каких либо ошибок)
? — ГОЛОСУЙТЕ
Вывести "результат выполнения" не возможно, по тому что на больших базах php не дождется завершения очистки.
Лично мне — фиолетово, из системного крона раз в неделю такой проблемы нет
#9 Очистка upload по cron 11 октября 2019 в 17:39


а вдруг где какой косяк или обновление? Новую тему будете открывать?

vikont
Вряд ли :),
я человек временный, сайт свой дорисовал...
скрипт мой(перловый) худо-бедно универсальный(можно адаптировать практически под любую cms)
настройки в модуле RISа вполне позволяют кооптироваться в будущие изменения инстанта...
не вижу смысла вести дальше эту тему
#10 Очистка upload по cron 11 октября 2019 в 17:19
Уважаемый Ris упаковал моё творчество в модуль дополнения: cleaner05102019.zip для ICMS2,
выкладываю тут немного подправленный мной вариант
cleaner-v2_15102019.zip
думаю тема закрылась, кто не спрятался — я не виноват :)



###########################################################################
НАПОМИНАЮ
Для работы компонента ТРЕБУЮТСЯ системные модули perl DBD-MySQL и DB_File
на красной шапке, сентосе ставится так:
# yum install perl-DBI perl-DBD-MySQL perl-DB_File
на убунте, дебиане:
# apt-get install libdbi-perl libdbd-mysql-perl
###########################################################################
если вы не понимаете о чём всё это, НЕ устанавливайте этот модуль, не заработает :)
#11 Очистка upload по cron 4 октября 2019 в 19:16


/blogs/zapiski-dinozavra/utilita-dlja-ochistki-upload-ot-fazer.html

Ris

EXCELLENT!!! :)
#12 Очистка upload по cron 3 октября 2019 в 10:59
ну видимо тема закрылась,
тогда на прощание добавлю кое-что:
прикол скрипта в том что он не держит в памяти все данные и не насилует постоянно мускул,
используя встроенную в перл Berkeley DB(создает её на диске и стирает после завершения)
Таки вот в php есть аналог — DBA

Пример: (можно создать в консоли и выполнить)
  1. #!/usr/bin/php
  2. <?php
  3. echo "\n";
  4. // possible it needs to install "apt-get install php7.3-dba" or "yum install php-dba.x86_64"
  5. $array = array( 'a/b/c/d', 'f/h/d/d', 'first', 'a/b/c/d', 'f/b/c/d', 'second', 'a/k/c/d', 'f/h/d/d' );
  6. $file = "test.db";
  7. $db = dba_open( $file, "c", "db4" );
  8.  
  9. $i = 0;
  10. foreach ( $array as $key ) {
  11. $i++;
  12. dba_insert( $key, $i, $db );
  13. echo $key."\t=> ".$i."\n";
  14. }
  15.  
  16. //////////////////////////////////////////////////////
  17.  
  18. $pattern = 'f/h/d/d';
  19.  
  20. if ( dba_exists($pattern, $db) ) {
  21. echo "\n our key is '".$pattern."' -> '".dba_fetch($pattern, $db)."'\n\n";
  22. }
  23.  
  24. dba_close($db);
  25. unlink($file);
  26. /*
  27. dba_open - открывает БД
  28. dba_insert - вставляет вхождение
  29. dba_exists - проверяет существование ключа
  30. dba_fetch - извлекает данные, специфицированные ключом
  31. dba_firstkey - извлекает первый ключ
  32. dba_nextkey - извлекает следующий ключ
  33. dba_close - закрывает БД
  34. */
  35. ?>
соответстна кто терпеть ненавидит perl может используя мой алгоритм и dba-php
создать что-то подобное моему скрипту на php zstну или нечто большее…
#13 Объявления / поля 1 октября 2019 в 11:14
допишу тут, авось кому пригодится...
мне нужно было:
site.ru/board/buy
site.ru/board/sell
site.ru/board/resume


сделал сл. образом:
создаем категории контента
board
boardbuy
boardsell
boardresume


патчим templates/default/assets/ui/breadcrumbs.tpl.php
  1. --- templates/default/assets/ui/breadcrumbs.tpl.php
  2. +++ templates/default/assets/ui/breadcrumbs.tpl.php
  3. @@ -9,10 +9,15 @@
  4.  
  5. <li class="sep"></li>
  6.  
  7. - <?php foreach($breadcrumbs as $id=>$item){ ?>
  8. + <?php $i=0; foreach($breadcrumbs as $id=>$item){?>
  9.  
  10. <?php if (in_array($item['href'], $listed)){ continue; } ?>
  11.  
  12. + <?php if ($i==0) {
  13. + if (preg_match("/board.+$/", $item['href'])) { ?>
  14. + <li><a href="/board" itemprop="url"><span itemprop="title"> Доска объявлений </span></a></li>
  15. + <li class="sep"></li> <?php } } $i++; ?>
  16. +
  17. <li <?php if (!isset($item['is_last'])){ ?>itemscope itemtype="http://data-vocabulary.org/Breadcrumb"<?php } ?>>
  18. <?php if (!isset($item['is_last'])){ ?>
в результате имеем:
site.ru/board
site.ru/boardbuy
site.ru/boardsell
site.ru/boardresume


и вменяемые крошки



экономим 1200руб минус "красивый слеш в адресе"(да и фиг с ним :))
#14 [ЕСТЬ РЕШЕНИЕ] Тестирование компонента Форум - продолжение 24 сентября 2019 в 19:00


my_posts и latest_posts это разные страницы

Loadырь
согласен, извините
#15 [ЕСТЬ РЕШЕНИЕ] Тестирование компонента Форум - продолжение 24 сентября 2019 в 18:22


На демке есть yadi.sk/i/EqY7x5xVKlqO-Q

Loadырь
нету
и тама как раз на картинке файл который не удаляется
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.