Skopiuj komendę cron z panelu swojej instalacji FOSSBilling i uruchamiaj ją zgodnie z zalecanym harmonogramem. Zweryfikuj nie tylko wpis w hostingu, ale też czas ostatniego wykonania i rezultat zadania.
Dlaczego panel może działać, a automatyzacja nie?
Wyświetlenie panelu klienta potwierdza działanie żądania WWW. Zadania cykliczne uruchamiają się osobno i obsługują pracę zaplanowaną w tle. Dlatego działające logowanie nie dowodzi, że system terminowo przetwarza zdarzenia i obsługuje kolejkę.
FOSSBilling wykorzystuje cron m.in. do odnowień, wygasających zamówień i wysyłki wiadomości. Dokumentacja zaleca wykonanie co pięć minut i opisuje ostrzeżenie po dłuższej przerwie. Sprawdź zalecenia dla używanej instalacji oraz konfigurację harmonogramu hostingu, zanim rozpoczniesz sprzedaż.
Weź komendę z własnej instalacji
Otwórz ustawienia zadań cyklicznych w panelu FOSSBilling. Dokumentacja wskazuje sekcję Settings → Scheduled Tasks. Skopiuj wyświetloną tam komendę zamiast odtwarzać ją z przypadkowego poradnika. Pełna ścieżka zależy od katalogu, w którym zainstalowano system.
Jeżeli polecenie zawiera parametr uwierzytelniający, traktuj go jak sekret. Nie umieszczaj go w publicznym zgłoszeniu ani zrzucie ekranu. W hostingu wpisz harmonogram i komendę w odpowiednie pola — niektóre panele rozdzielają je, a inne przyjmują cały wiersz crontab.
Harmonogram i interpreter PHP
Zapis */5 * * * * w crontab użytkownika oznacza uruchamianie co pięć minut. To harmonogram, nie pełna komenda FOSSBilling. Właściwą komendę skopiowaną z panelu trzeba dodać osobno, zgodnie z interfejsem hostingu.
Sprawdź, jakiego interpretera PHP używa zadanie. Wersja wybrana dla domeny nie musi być identyczna z domyślnym PHP w terminalu. Jeśli komenda wskazuje konkretną ścieżkę binarną, potwierdź u operatora, że jest dostępna i zgodna z wymaganiami aplikacji. Sprawdź też rozszerzenia PHP używane w trybie CLI.
Test bez wielokrotnego uruchamiania
Najpierw zanotuj czas ostatniego wykonania widoczny w aplikacji. Poczekaj na jeden zaplanowany cykl i sprawdź, czy czas się zmienił. Następnie skontroluj log zadania i rezultat na kontrolowanym przykładzie. Sam zapis formularza w panelu hostingowym potwierdza tylko utworzenie harmonogramu.
Jeśli konieczna jest ręczna próba z terminala, użyj tego samego użytkownika i polecenia co w harmonogramie. Upewnij się, że nie nakłada się ona z działającym zadaniem. Nie uruchamiaj produkcyjnego procesu wielokrotnie „na próbę”, gdy może wysyłać wiadomości lub wykonywać operacje na usługach klientów. Testy funkcjonalne prowadź na odizolowanej instalacji z kontrolowanymi danymi.
Najczęstsze przyczyny braku wykonania
| Objaw | Co zweryfikować |
|---|---|
| No such file or directory | Ścieżkę do PHP i pliku aplikacji |
| Permission denied | Użytkownika zadania i dostęp do katalogów |
| Brak rozszerzenia PHP | Konfigurację CLI, nie tylko ustawienia WWW |
| Ręcznie działa, cyklicznie nie | Katalog roboczy, środowisko i pełne ścieżki |
| Czas wykonania się zmienia, efektu brak | Log aplikacji, kolejkę i warunki danego zadania |
| Zadania zaczynają się nakładać | Czas wykonania i mechanizm blokowania pracy równoległej |
Na czas diagnozy zapisuj wynik w niepublicznym katalogu, do którego użytkownik zadania ma dostęp. Nie ukrywaj od razu wszystkich błędów przez przekierowanie do /dev/null. Z drugiej strony nie zostawiaj rosnącego bez ograniczeń logu zawierającego dane klientów.
Weryfikacja po migracji
Po przeniesieniu FOSSBilling popraw ścieżki, potwierdź interpreter i wyłącz stary harmonogram we właściwym momencie przełączenia. Dwie aktywne instalacje przetwarzające te same zdarzenia to niepożądany scenariusz. Osobno sprawdź powiadomienia płatnicze, ponieważ działający cron nie zastępuje poprawnego webhooka.
Przed wyborem hostingu Castpol podaj wymagania swojej wersji FOSSBilling i potrzebną częstotliwość zadań. Uzgodnienie PHP CLI i harmonogramu przed instalacją pozwala uniknąć sytuacji, w której panel działa, lecz procesy obsługujące klientów stoją.