Zmiany pomiędzy wersją początkową i wersją 1 dla DeployerGuide/Others/Cronrunner

Pokaż
Ignoruj:
Data i czas:
05/04/15 13:29:29 (9 years temu)
Autor:
jpolczynski (IP: 79.188.124.105)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DeployerGuide/Others/Cronrunner

    v1 v1  
     1= [wiki:UserGuide Przewodnik użytkownika] > Tytuł - identyczny z linkiem z działu = 
     2 
     3=== Automatyczna synchronizacja przy wykorzystaniu zaplanowanych zadań === #crontab 
     4 
     5System 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). 
     6 
     7'''Konfiguracja środowiska''' 
     8 
     9Zanim zostanie utworzone pierwsze zadanie - system trzeba przygotować do uruchamiania skryptu '''CronRunner.php'''. 
     10W tym celu w systemie linux należy dodać odpowiedni wpis do pliku {{{/etc/crontab}}} 
     11{{{ 
     12 */1 * * * * www-data cd /home/edokumenty/public_html/apps/edokumenty && php -f CronRunner.php >> /var/log/cronrunner.log 
     13}}} 
     14 
     15Natomiast w systemie Windows można utworzyć zadanie w systemowym panelu Harmonogram Zadań lub też wykonać z lini poleceń (cmd) komendę: 
     16{{{ 
     17 schtasks /create /sc co_minutę /mo 5 /tn "CronRunner" /tr "php -f C:\Program Files\BetaSoft\eDokumenty\CronRunner.php" 
     18}}} 
     19 
     20W 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. 
     21W tym celu należy przejść na konto użytkownika www-data: 
     22{{{ 
     23 su - www-data 
     24}}} 
     25 
     26[[Image(dodatkowe_003.png)]][[BR]]''Rys. 4.''[[BR]] 
     27 
     28Jeżeli uruchomi się powłoka sh należy wykonać polecenie: 
     29{{{ 
     30 bash 
     31}}} 
     32 
     33[[Image(dodatkowe_004.png)]][[BR]]''Rys. 5.''[[BR]] 
     34 
     35Będąc w powłoce bash należy wykonać polecenie: 
     36 
     37{{{ 
     38 cd /home/edokumenty/public_html/apps/edokumenty && php -f CronRunner.php >> /var/log/cronrunner.log 
     39}}} 
     40 
     41Po 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 
     42 
     43 
     44Poniższe zrzuty ekranu pokazują typowe problemy napotkane przy uruchamianiu CronRunner-a.: 
     45 
     46''Brak uprawnień do pliku CronRunner.log'' 
     47[[Image(dodatkowe_005.png)]][[BR]]''Rys. 6.''[[BR]] 
     48 
     49W 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: 
     50{{{ 
     51 cd /var/log 
     52 vim CronRunner.log -> następnie w Vimie zapisać pusty plik poleceniem  
     53 :wq 
     54 chmod 664 CronRunner.log 
     55 chown www-data:edokumenty CronRunner.log 
     56}}} 
     57 
     58[[Image(dodatkowe_006.png)]][[BR]]''Rys. 7.''[[BR]] 
     59 
     60Testując powinniśmy uzyskać następujący efekt: 
     61 
     62[[Image(dodatkowe_007.png)]][[BR]]''Rys. 8.''[[BR]] 
     63 
     64Taki widok w konsoli oznacza, że skrypt wykonał się. 
     65Na wszelki wypadek nalezy spojrzeć do pliku log-a: 
     66{{{ 
     67 tail /var/log/CronRunner.log 
     68}}} 
     69 
     70W przypadku wystąpienia następującego komunikatu: 
     71 
     72[[Image(dodatkowe_008.png)]][[BR]]''Rys. 9.''[[BR]] 
     73 
     74Oznacza to, że w pliku {{{/etc/php5/cli/php.ini}}} jest zła konfiguracja. 
     75Sposób postępowania jest podobny także w przypadkach np. braków rozszerzeń do obsługi innych systemów. 
     76W celu naprawy sytuacji należy utworzyć link symboliczny do php.ini apache'a, który wiemy, ze jest prawidłowy. 
     77 
     78{{{ 
     79 cd /etc/php5/cli/ 
     80 mv php.ini php.ini.bak 
     81 ln -s /etc/php5/apache2/php.ini php.ini 
     82}}} 
     83 
     84[[Image(dodatkowe_009.png)]][[BR]]''Rys. 10.''[[BR]] 
     85 
     86Wynikiem tej operacji powinien być log, w którym nie pojawił się żadeń nowy wpis z błędem. 
     87[[Image(dodatkowe_010.png)]][[BR]]''Rys. 11.''[[BR]] 
     88 
     89'''Konfiguracja zadań w systemie eDokumenty''' 
     90 
     91Konfigurację 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 
     92 
     93[[Image(dodatkowe_011.png)]][[BR]]''Rys. 12. Ikona Zaplanowane Zadania''[[BR]] 
     94 
     95W otwartym oknie widać wszystkie dotychczas skonfigurowane akcje z podziałem na typy obiektów synchronizacji.  
     96 
     97[[Image(dodatkowe_012.png)]][[BR]]''Rys. 13. Skonfigurowane akcje''[[BR]] 
     98 
     99W 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. 
     100 
     101[[Image(dodatkowe_013.png)]][[BR]]''Rys. 14. Konfiguracja zaplanowanego zadania dla wybranej akcji ''[[BR]] 
     102 
     103Po skonfigurowaniu i zapisaniu w oknie Zaplanowanych zadań przy akcji pojawi się ikona zaplanowanego zadania. 
     104 
     105[[Image(dodatkowe_014.png)]][[BR]]''Rys. 15. Zaplanowane zadanie dla akcji''[[BR]]