![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 790 Pomógł: 7 Dołączył: 6.02.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Zbudowałem mechanizm kolejki ale mam kilka pytań.
Co do dodawania zadań: Zapisuje zadania w tablicy. Moje pytanie: Czy bardziej opłaca się dodawać zadania na początku tablicy i potem usuwać wykonane zadania funkcją array_shift :? Czy też może lepiej dodawać zadania na końcu tablicy i wykonywać zadania czytając tablicę od końca :?: Kolejkę wykorzystuję wtedy, gdy jakiś moduł wymaga, aby użytkownik był zalogowany. Wtedy dodaję do kolejki zadanie, a następnie odsyłam na stronę logowania. Po zalogowaniu user zostaje automatycznie przeniesiony na właściwą stronę. Ale moje drugie pytanie brzmi: Czy można wykorzystać kolejkę jeszcze do innych modułów, zadań :?: I trzecie: Co, jeśli w kolejce są zadania, a użytkownik przegląda inne strony :?: (bo np. zrezygnował z oglądania strony zastrzeżonej dla użytkowników) Co zrobić z takimi zadaniami :?: Skasować je, przedstawić użytkownikowi, przymusowo go tam odesłać :wink: :?: Czwarte: Gdzie przechowywać kolejkę :?: Bo ja wymyśliłem, że przechowuję ją w tablicy, a następnie zapisuję reprezentację zmiennej (funkcja serialize i unserialize) w bazie danych. Czy to jest optymalne rozwiązanie :?: Czy raczej powinienem zastosować inny zapis danych z kolejki :?: Na koniec. Nie jestem przekonany do tego, żeby temat leżał na php Pro, ale może się tu nadaje. Przeczytałem chyba wszystko co było na temat kolejki na forum, ale nadal mam pewne wątpliwości. Wybaczcie, że tak dużo czytania :wink: |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 790 Pomógł: 7 Dołączył: 6.02.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
ja znam jeszcze LIFO(ale to to samo co FILO) i osobiście taki model zastosowałem.
FIFO moim zdaniem nie ma sensu bo: - user wchodzi na module (zastrzezony dla zarejestrowanych) -> do kolejki dodaje sie (module) - user jest na stronie logowania, ale musi sie zarejestrowac -> do kolejki dodaje sie login user sie rejestruje, a FIFO mu zwraca module, a dopiero potem login (znowu - marnowanie czasu i procesora) FILO == LIFO tak wiec nie ma roznicy I teraz nie jestem pewien co do skryptu Seth'a. Widze, że w tytule jest FIFO, ale tak jak pokazalem, to chyba nikt by nie chcial. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 04:10 |