Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Скрипт для прогрева кеша в 1С-Битрикс

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Быстро скрипт. Создать и сделать исполняемым - запустить.

Только что обновлял все элементы в портфолио, скриншоты там пересоздаются с помощью ресайзера 1С-Битрикс
Подробнее тут: https://bazarow.ru/blog-note/833/

Что бы это не происходило на хитах пользователей (странички открывались по 10 секунд). Прогнал вот таким скриптом. Ни чего не сохраняет- просто посещает рукурсивно (в моем случае портфолио).
Подойдет для быстрого прогрева кеша/ресайза картинок - в каталоге например И так далее:
Код
#!/bin/bash

set -e

BASE_URL="https://bazarow.ru"
LISTING_URL="$BASE_URL/portfolio/"

echo "=== Warming portfolio cache ==="
echo "Fetching listing: $LISTING_URL"

# Fetch the portfolio page and extract all /portfolio/XXXXX.html URLs from JSON-LD
# The JSON-LD contains a complete itemList with all portfolio URLs
# Note: using grep -oE with ERE (macOS compatible)
URLS=$(curl -s "$LISTING_URL" \
  | grep -oE '"url": "[^"]*/portfolio/[0-9]+\.html"' \
  | sed 's/"url": "//;s/"$//' \
  | sort -u)

COUNT=$(echo "$URLS" | wc -l | tr -d ' ')
echo "Found $COUNT portfolio items"
echo ""

# Visit each URL to warm cache
I=0
while IFS= read -r url; do
  I=$((I + 1))
  echo "[$I/$COUNT] GET $url"
  curl -s -o /dev/null -w "  HTTP %{http_code}, %{size_download} bytes, %{time_total}s\n" "$url"
done <<< "$URLS"

echo ""
echo "=== Done! $COUNT pages warmed ==="

Есть еще одна подобная тема https://bazarow.ru/forum/forum11/544-dlya-progreva-kesha-sayta-na-bitriks.
там более сложный скрипт
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
 

Блог-note Заметки по 1С-Битрикс