Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kolejka w PHP,
Prph
post
Post #1





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dawno mnie tu nie było (IMG:style_emoticons/default/smile.gif)

Forumowicze, problem z kolejką w PHP. System, który tworzę przetwarza dane co minutę (z CRONa). Niestety uruchomienie pojedynczego procesu np, przetwarzaj.php nie kończy się w 1 minucie, ponieważ przetwarzanie danych może trwać np. 2 mninuty dla pojedynczego rekordu bazy danych, a rekordów jest np. 20. Teoretycznie szeregowe uruchomienie przetwarzania zajmie więc 40 min. Każdy przetwarzaj.pho bierze z bazy zatem 1 rekord i tylko taki mieli.

Moje pytanie: w jaki sposób napisać kolejkę, która poprawnie przetworzy takie dane? Wywołać z crona 20x ten sam przetwarzaj.php? Zanim proces zacznie wykonywać swoją pracę, ustawia na rekordzie bazy, że jest on przetwarzany, więc inny proces weźmie kolejne dane.

Spotkaliście się z podobnym problemem, macie pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hind
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 24
Dołączył: 30.03.2009
Skąd: Rokitno Szlacheckie

Ostrzeżenie: (0%)
-----


Zły tok rozumowania... równoległe uruchomienie spwoduje że wszystkie procesy będą działać wolniej... więc zamiast upragnionych 2 minut będzie to 20 (lub i więcej)...

jak zrobić?
napisać skrypt który w pętli odpali te 20 zadań np
  1. #!/usr/bin/env php
  2. <?php
  3. foreach(range(1,20) as $v) {
  4. echo `/skrypt/do/eykonania.php --id=$v &`; // & <- b. ważny znak
  5. }


Ten post edytował hind 23.05.2012, 07:05:43
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.12.2025 - 23:04