![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam mały problem z działaniem Cron'a w serwisie OVH. Napisałem sobie skrypt pobierający dane z bramki z serwisu zewnętrznego - około 2500 rekordów. W skrypcie ograniczyłem pobieranie danych po 500 rekordów jednorazowo. Jak odpalam sobie skrypt w przeglądarce, to śmiga aż miło - aktualizuje wszystkie pobrane 500 rekordów. Ale jak odpalam ten ssam skrypt z Cron'a, to nie wiem dlaczego ogranicza ilość aktualizowanych danych do mniej więcej 120 rekordów. Czym to może być spowodowane ![]() Może juz ktoś z was spotkał się z takim czymś. PS. Może ilość pobieranych danych stanowi problem - na maila między innymi otrzymuję warninga o treści - "Należy pamiętać, że rozmiar dzienników wysyłanych jest ograniczona do 50.000 znaków" o.O Ten post edytował trafas 27.08.2012, 07:11:37 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tak, na to bym stawiał.
Cron ma to do siebie, że (o ile mu się tego nie zmieni) wyrzuca dane na - standardowe wyjście (stdout) - standardową konsolę błędów (stderr) I teraz to wszystko (łącznie) jest po zakończeniu skryptu przesyłane mailem do użytkownika, który jest właścicielem procesu (czyli uzytkownika, który założył zadanie w cronie). Z tego co piszesz, OVH limituje wielkość tego pliku do 50KB. Rozwiązanie jest właściwie tylko jedno: przekierować cronowy stdout do pliku (stderr zostawmy - komunikat o błędach dostaniesz mailem, IMO dość wygodne). Prawdopodobnie po przekierowaniu stdout do pliku będiesz mógł wykonać skrypt bez problemów. Log czynności będziesz miał w pliku. Twoja decyzją jest to, czy te logi chcesz dostawać mailem (jeśli chcesz, w skrypcie dopisz sobie na końcu procedurę wysłania tego do samego siebie). Oczywiście możesz też zmniejszyć ilość wysyłanego tekstu na stdout - może gdzieś nie zakomentowałeś jakiegoś zbędnego echo, które było przydatne w fazie debugowania? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
No zobaczę co z tego wyjdzie wieczorkiem, dzięki za podpowiedź - napiszę później co z tego wyszło.
To jednak nie to - wywaliłem wyświetlanie jakiegokolwiek tekstu w wykonywanym skrypcie. W treści maila przychodzi tylko coś takiego: " SAS OVH - http://www.ovh.com 2 rue Kellermann BP 80157 59100 Roubaix Bonjour, Vous avez demandé l'envoi des logs pour la tâche : Numéro : 50759 Heure de début : 2012-08-27 02:41:02 Heure de fin : 2012-08-27 02:41:10 Commande exécutée : /usr/local/bin/**** Code de retour : 0 L'utilisation de ce service est limitée à l'envoi de 10 emails. Passée cette limite, vous pourrez le réactiver via votre Espace Client : https://www.ovh.com/managerv3/ Attention, la taille des logs envoyés est limitée à 50'000 caractères. -------------------------== Début ==------------------------- X-Powered-By: PHP/5.2.17 Content-type: text/html !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns=http://www.w3.org/1999/xhtml head meta http-equiv=Content-Type content=text/html; charset=utf-8 / titleDokument bez tytu‚u/title style th{text-align:left; color:#06F; font-family:Courier New, Courier, monospace;} tr{vertical-align:top;} /style /head body /body /html -------------------------== Fin ==------------------------- " Pomiędzy Début a Fin jest wyrzucane to, co zwraca mój skrypt - czyli można powiedzieć że nic nie zwraca - to są tylko znaczniki początku i końca dokumentu i tyle. Spróbuję jeszcze zmienić ustawienie wersji PHP w cronie. Ostatecznie problem rozwiązałem jeszcze inaczej. podzieliłem pobieranie danych na mniejsze partie ( jednorazowo po 100 rekordów ). Do tego z obsługi klienta OVH podrzucili mi pomysł żeby odpalać mój skrypt przez basha ( wtedy zachowuje się jakby był odpalony z poziomu przeglądarki ). Po powyższych zabiegach pobieranie danych działa bezproblemowo ![]() PS. abort dzięki za zainteresowanie tematem Ten post edytował trafas 28.08.2012, 22:49:19 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:29 |