![]() |
![]() |
--piotrek-- |
![]()
Post
#1
|
Goście ![]() |
Witam,
Muszę w pracy zrobić malutki projekcik w php. Niestety nigdy nie miałem z nim praktycznie nic wspólnego. Potrafię jednak programować w innych językach. Problem wygląda następująco: Koniecznym jest wywołanie mechanizmu przetwarzającego dane w bazie danych (proces trwa ok 15 min). Jest tabelka w bazie (MySQL) do której raportuje etapy przetwarzania danych takie jak np. rozpoczęcie i zakończenie. Niestety w jednym momencie może trwać tylko jedno przetwarzanie danych. Pierwszym etapem skryptu php jest odpytanie z bazy czy proces przetwarzania trwa (został uruchomiony przez innego użytkownika). Jeśli nie proces przeliczania jest uruchamiany. Jeśli nie, na stronie ma być wyświetlony komunikat typu "przetwarzanie jest w trakcie realizacji". Mechanizm takowy zaimplementowałem, i od strony kodu wygląda to dobrze. Rezultat jest taki, że jeśli wywołam skrypt raz i po kilku sekundach chce wywołać go kolejny raz (chce przetestować wyświetlanie komunikatu), drugie wywołanie będzie czekało na zakończenie pierwszego i dopiero się wywoła. Jak zaradzić takiej sytuacji? Znając życie problem jest w moim brak znajomości ogolnej php. Byłbym bardzo wdzięczny za pomoc, Pozdrawiam |
|
|
![]() |
--piotrek-- |
![]()
Post
#2
|
Goście ![]() |
Obszedłem problem w następujący sposób. Stworzyłem trzy skrypty php:
1. Wyświetlający informację o wykonywaniu się przetwarzania danych. 2. Przetwarzający dane. 3. Sprawdzający czy trwa przetwarzanie danych. Jeśli nie robi przekierowanie do skryptu nr 2. Jeśli tak przekierowuje do skryptu nr 1. Dodatkowo skrypty 1 i 2 ma zabezpieczenia przed uruchamianiem bezpośrednio tych plików. Niby wszystko wygląda ok, ale jednak coś mi tutaj nie pasuje. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 20:52 |