Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyzwalanie akcji po dodaniu rekordu
Forum PHP.pl > Forum > Bazy danych > MySQL
Wujashek
Przeszukiwałem forum i google i nie natrafiłem na odpowiedź, więc zgłaszam się tu

Jakie proponowalibyście rozwiązanie dla takiego problemu:

Użytkownik aplikacji wykonuje dodanie rekordu do bazy MySQL
( jest to pewne zapytanie do serwera z podanymi parametrami )
Następnie na serwerze odpalany jest skrypt ( php lub jakiś inny ustalony z góry)
i wykonuje on oczekujące zapytania z tejże bazy, aktualizując ją później wynikiem.

Problem pojawia się w 2 momentach. Jak bezboleśnie powiązać akcje
1.) "dodanie rekordu" - "uruchomienie skryptu"
2.) "pojawianie się wyniku" - "wyświetlenie go u klienta"

Problem nr 2 mogę rozwiązać sprawdzaniem co jakiś czas czy pojawił się wynik z poziomu skryptu php
Ale problem nr 1 z racji obciążenia ( zapytanie co 1 sec do bazy czy jest coś nowego całą dobę ) nie mogę przełknąć.

Jak rozumiem trigger mi w tym nie pomoże ( nie może wołać skryptu zewnętrznego )

Z góry dziękuję za jakąś podpowiedź, wskazówkę.
dr_bonzo
1. dodajesz rekord i uruchamiasz skrypt, tak po prostu, z poziomu php
bo nie rozumiem w czym masz problem
Wujashek
Cytat(dr_bonzo @ 22.02.2007, 12:47:00 ) *
1. dodajesz rekord i uruchamiasz skrypt, tak po prostu, z poziomu php
bo nie rozumiem w czym masz problem


Problem polega na pewnej logice aplikacji. Wykonanie zapytania realizuje jakiś skrypt lub program ( załóżmy że nie jest to php ), nie jest on wywoływany przez klienta, klient cierpliwie czeka aż pojawi się odpowiedź.

Idąc twoim tokiem myślenia też można to rozwiązać wywołując skrypt/program z poziomu php po dodaniu rekordu. Czy jest możliwość wołania programów/skryptów innych języków np napisanych w DELPHI ?
feaber
nie wiem czy np. mysql posiada mechanizmy w stylu onInsert() winksmiley.jpg

Jednym z szybszych rozwiązań jest chyba utworzenie 'tabeli z kolejką' nieobsłużonych, świerzo dodanych rekordów, które odbiorca (np. program C++), obsłużył by, i umieścił poczym przeniusł do tablicy z obsluzonymi rekordami.

Jeżeli odbiorcą miałby być skrypt PHP, to musiał by być on przez kogoś uruchomiony np. przez program nie PHP (np. C++ / DELPHY), z odpowiednimi parametrami które pomogły by mu zorientować się co się dzieje (action=check_new_record_in_db winksmiley.jpg

W pierwszym przypadku cyklicznego sprawdzania czy jest jakiś wpis w 'tabeli z kolejką' chyba nie da się uniknąć..

Nie wiem jak sprawa wygląda w innych bazach danych..

pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.