#766

Pobrane pliki najpierw trafiają do roboczego folderu na komputerze (zwykle C:\orders). Maszyny zazwyczaj z niego nie czytają: potrzebują folderu sieciowego albo podłączonego dysku. Kopiowaniem tam zajmuje się synchronizacja.

Kiedy się uruchamia

  • po każdym sprawdzeniu zamówień — czyli w każdym cyklu według harmonogramu;
  • po tym, jak program skończył konwersję plików;
  • ręcznie — przyciskiem „Sprawdź teraz” na zakładce „Główna”, który przepuszcza cały cykl w całości razem z kopiowaniem.

Osobnego przycisku „tylko synchronizuj” nie ma.

Co dokładnie jest kopiowane

Program idzie według reguł z pliku synchronize_folders.txt. Każda reguła to para „skąd” i „dokąd”. Jak jest zbudowana, opisano w artykule Reguły tras: format wiersza i dwa tryby.

Wewnątrz reguły program obchodzi folder źródłowy w całości, wraz z podfolderami, i dla każdego pliku decyduje, czy go kopiować, czy nie:

  • Plik bez numeru zamówienia w ścieżce jest pomijany. Numer szukany jest w strukturze folderów; jeśli go nie ma, plik uznawany jest za postronny i synchronizacja go nie rusza.
  • SVG, który jest jeszcze konwertowany, jest pomijany. Inaczej na maszynę pojechałby półprodukt zamiast gotowego pliku. Gdy konwersja się skończy, na dysku zostanie już EMF — jego skopiuje kolejny cykl.
  • Plik, który już jest w miejscu docelowym i ma ten sam rozmiar, nie jest kopiowany ponownie. Dlatego zwykły cykl przebiega szybko nawet w dużym folderze: od nowa przekładane są tylko nowe i zmienione pliki.

Sprzątanie nieaktualnych SVG w miejscu docelowym

Jeśli w folderze docelowym obok siebie leżą nazwa.svg i nazwa.emf, SVG jest usuwany: jest nieaktualny, zastąpił go EMF. Działa to tylko dla reguł typu folder.

Jeśli folder docelowy jest niedostępny

Program zapisuje błąd w dzienniku i przechodzi do następnej reguły. Pobieranie zamówień i konwersja przy tym się nie zatrzymują — pliki zostają w folderze roboczym i pojadą na maszynę, gdy tylko folder sieciowy znowu się pojawi.

Zamówienia, których nie ma w bazie programu

Jeśli w folderze roboczym leżą pliki zamówień, których ten program nie pobierał (na przykład zostały z poprzedniej instalacji), w dzienniku pojawi się wiersz postaci „orders skipped (not in database)” z numerami zamówień i przykładem ścieżki. Takie pliki nie są kopiowane ani same usuwane — jak zwolnić na nie miejsce, napisano w artykule Ile zamówień przechowywać i jak czyścić dysk.

Druga strona medalu

Program pamięta, jakie pliki i dokąd skopiował. Dlatego przy usuwaniu zamówienia sprząta nie tylko folder roboczy, ale i skopiowane pliki w miejscach docelowych — zob. Usunąć zamówienie i pobrać je ponownie.

Jak sprawdzić, że wszystko pojechało

Służy do tego okno „Porównanie folderów”: pokazuje dla każdego zamówienia, ile plików jest w źródle i ile w miejscu docelowym.