Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> OVH - działanie Cron'a
trafas
post 26.08.2012, 21:57:26
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 questionmark.gif
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
abort
post 26.08.2012, 22:35:03
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?
Go to the top of the page
+Quote Post
trafas
post 28.08.2012, 22:46:18
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 smile.gif

PS. abort dzięki za zainteresowanie tematem


Ten post edytował trafas 28.08.2012, 22:49:19
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:29