CronRunner - wywoływanie zaplanowanych zadań
Automatyczna synchronizacja przy wykorzystaniu zaplanowanych zadań
Dla systemu Ready_™ aktualna dokumentacja znajduje się pod adresem dokumentacja Ready_™
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
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\public_html\apps\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
Jeżeli uruchomi się powłoka sh należy wykonać polecenie:
bash
Będąc w powłoce bash należy wykonać polecenie:
cd /home/edokumenty/public_html/apps/edokumenty && php -f CronRunner.php
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.: W przypadku wystąpienia następującego komunikatu:
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
Załączniki
- rys_001.png (674 bytes) - dodany przez jpolczynski 10 years temu.
- rys_002.png (1.1 KB) - dodany przez jpolczynski 10 years temu.
- rys_003.png (3.6 KB) - dodany przez jpolczynski 10 years temu.
- rys_004.png (49.4 KB) - dodany przez jpolczynski 10 years temu.
- rys_005.png (3.7 KB) - dodany przez jpolczynski 10 years temu.
- rys_006.png (25.7 KB) - dodany przez jpolczynski 10 years temu.
- rys_007.png (7.4 KB) - dodany przez jpolczynski 10 years temu.
- rys_008.png (26.6 KB) - dodany przez jpolczynski 10 years temu.
-
CronRunner.xml
(3.9 KB) - dodany przez jachtelik
9 years temu.
Plik do zaimportowania w Task Sheduler na serwerze Windows.