WikiPrint - from Polar Technologies

Przewodnik użytkownika > Tytuł - identyczny z linkiem z działu

Automatyczna synchronizacja przy wykorzystaniu zaplanowanych zadań

System eDokumenty pozwala uruchomić zadania synchronizacji automatycznie. Wykorzystuje do tego celu systemowy Harmongram Zadań (w linuksie cron). Mechanizm ten uruchamia skrypt CronRunner.php w trybie klienta. Skrypt ten odpowiedzialny jest za realizację zadań zapisanych w bazie danych systemu eDokumenty (konkretnie w tabeli crontab).

Konfiguracja środowiska

Zanim zostanie utworzone pierwsze zadanie - system trzeba przygotować do uruchamiania skryptu CronRunner.php. W tym celu w systemie linux należy dodać odpowiedni wpis do pliku /etc/crontab

 */1 * * * * www-data cd /home/edokumenty/public_html/apps/edokumenty && php -f CronRunner.php >> /var/log/cronrunner.log

Natomiast w systemie Windows można utworzyć zadanie w systemowym panelu Harmonogram Zadań lub też wykonać z lini poleceń (cmd) komendę:

 schtasks /create /sc co_minutę /mo 5 /tn "CronRunner" /tr "php -f C:\Program Files\BetaSoft\eDokumenty\CronRunner.php"

W tym momencie należy przetestować działanie skryptu. Na systemie Windows należy uruchomić zadanie i sprawdzić w historii pobierania, czy wykonała się synchronizacja. Tutaj oprzemy się o testowaniu na systemie Linux. W tym celu należy przejść na konto użytkownika www-data:

 su - www-data

No image "dodatkowe_003.png" attached to DeployerGuide/Others/Cronrunner
Rys. 4.

Jeżeli uruchomi się powłoka sh należy wykonać polecenie:

 bash

No image "dodatkowe_004.png" attached to DeployerGuide/Others/Cronrunner
Rys. 5.

Będąc w powłoce bash należy wykonać polecenie:

 cd /home/edokumenty/public_html/apps/edokumenty && php -f CronRunner.php >> /var/log/cronrunner.log

Po kliknięciu przycisku Enter w konsoli powinna się pojawić standardowa linia ze znakiem zachęty. Jeżeli pokaże sie jakikolwiek komunikat, to znaczy, że coś nie działa

Poniższe zrzuty ekranu pokazują typowe problemy napotkane przy uruchamianiu CronRunner-a.:

Brak uprawnień do pliku CronRunner.log No image "dodatkowe_005.png" attached to DeployerGuide/Others/Cronrunner
Rys. 6.

W celu rozwiązania tego problemu należy w odpowiedniej lokalizacji np. w katalogu /var/log/ z poziomu użytkownika root utworzyć plik (pusty) i nadać mu odpowiednie uprawnienia:

 cd /var/log
 vim CronRunner.log -> następnie w Vimie zapisać pusty plik poleceniem 
 :wq
 chmod 664 CronRunner.log
 chown www-data:edokumenty CronRunner.log

No image "dodatkowe_006.png" attached to DeployerGuide/Others/Cronrunner
Rys. 7.

Testując powinniśmy uzyskać następujący efekt:

No image "dodatkowe_007.png" attached to DeployerGuide/Others/Cronrunner
Rys. 8.

Taki widok w konsoli oznacza, że skrypt wykonał się. Na wszelki wypadek nalezy spojrzeć do pliku log-a:

 tail /var/log/CronRunner.log

W przypadku wystąpienia następującego komunikatu:

No image "dodatkowe_008.png" attached to DeployerGuide/Others/Cronrunner
Rys. 9.

Oznacza to, że w pliku /etc/php5/cli/php.ini jest zła konfiguracja. Sposób postępowania jest podobny także w przypadkach np. braków rozszerzeń do obsługi innych systemów. W celu naprawy sytuacji należy utworzyć link symboliczny do php.ini apache'a, który wiemy, ze jest prawidłowy.

 cd /etc/php5/cli/
 mv php.ini php.ini.bak
 ln -s /etc/php5/apache2/php.ini php.ini

No image "dodatkowe_009.png" attached to DeployerGuide/Others/Cronrunner
Rys. 10.

Wynikiem tej operacji powinien być log, w którym nie pojawił się żadeń nowy wpis z błędem. No image "dodatkowe_010.png" attached to DeployerGuide/Others/Cronrunner
Rys. 11.

Konfiguracja zadań w systemie eDokumenty

Konfigurację automatycznego pobierania przeprowadzamy w oknie mechanizmu BSConnect. Należy przejść na koncie administratora systemu eDokumenty Narzędzia > Połączenia z systemami zewnętrznymi. W otwartym oknie połączęń wybieramy połączenie i klikamy ikonę zaplanowane zadania

No image "dodatkowe_011.png" attached to DeployerGuide/Others/Cronrunner
Rys. 12. Ikona Zaplanowane Zadania

W otwartym oknie widać wszystkie dotychczas skonfigurowane akcje z podziałem na typy obiektów synchronizacji.

No image "dodatkowe_012.png" attached to DeployerGuide/Others/Cronrunner
Rys. 13. Skonfigurowane akcje

W oknie tym należy wybrać akcję i kliknąć przycisk nowy. Pojwai się okno, w którym wpisujemy własną nazwę zdarzenia oraz ustawiamy czas, kiedy ma się wykonywać operacja.

No image "dodatkowe_013.png" attached to DeployerGuide/Others/Cronrunner
Rys. 14. Konfiguracja zaplanowanego zadania dla wybranej akcji

Po skonfigurowaniu i zapisaniu w oknie Zaplanowanych zadań przy akcji pojawi się ikona zaplanowanego zadania.

No image "dodatkowe_014.png" attached to DeployerGuide/Others/Cronrunner
Rys. 15. Zaplanowane zadanie dla akcji