Importer

# Czas wykonania zadania

Importer wykonuje złożone zadania, które mogą zająć dużo czasu. Sugeruje się, żeby w razie problemów ze zbyt wczesnym zakończeniem procesów, na czas importu zwiększyć czas wykonania pojedynczego zadania w pliku konfiguracyjnym config/queue.php:

'database' => [
    'retry_after' => 60 * 30,

Przykładowo powyższe ustawienie pozwala wykonać pojedyncze zadanie w czasie 30 minut.

# Ścieżka do PHP

Importer bardziej skomplikowane zadania przydziela do jobów. Wykonaniem jobów zajmują się asynchroniczne workery uruchamiane z poziomu PHP CLI. Ścieżkę do pliku wykonawczego PHP CLI można zmienić z poziomu pliku config/idir.php, zmieniając wartość:

    'import' => [
        'php_path' => 'php',


# Ilość rekordów do przetworzenia na zadanie

W przypadku problemów ze zbyt dużym payloadem w utworzonych jobach, można zmienić domyślną ilość rekordów z poziomu pliku config/idir.php:

    'import' => [
        'job_limit' => 1000


# Przekierowanie starych adresów na nowe

Importer importuje dane z zachowaniem identycznego identyfikatora primary ID. Dzięki temu możliwe jest stworzenie przekierowań starych adresów kategorii i wpisów na nowe przy udziale reguł w public/.htaccess - na przykład:

# SEOKatalog import redirect
RewriteRule ^([-_+!~,;*'()$a-zA-Z0-9]+)/([-_+!~,;*'()$a-zA-Z0-9]+),p,([0-9]+)/strona,([0-9]+)/? /import/categories/$3/dirs?page=$4 [L,R=301]
RewriteRule ^([-_+!~,;*'()$a-zA-Z0-9]+)/([-_+!~,;*'()$a-zA-Z0-9]+),p,([0-9]+)/? /import/categories/$3/dirs [L,R=301]
RewriteRule ^([-_+!~,;*'()$a-zA-Z0-9]+)/([-_+!~,;*'()$a-zA-Z0-9]+),s,([0-9]+)/ /import/dirs/$3 [L,R=301]
RewriteCond %{QUERY_STRING} ^click=([0-9]+)$
RewriteRule ^ /import/dirs/%1? [L,R=301]

Specjalnie utworzone kontrolery znajdujące się w lokalizacji:

N1ebieski\IDir\Http\Controllers\Web\Import

zajmą się resztą i przekierują stare adresy na odpowiadające im routy z identyfikatorem typu slug.