![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 221 Pomógł: 20 Dołączył: 4.05.2006 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
mam problem i nie wiem z czego to wynika i jak to przeskoczyć.
mam skrypt który wykonuje kilkadziesiąt transakcji update do konkretnych rekordów i chwilę to trwa. Dane pobiera z zewnętrznego serwera. uruchamiam go w ramce, aby pracował sobie "w tle". Tutaj mam problem jak kiedyś korzystałem z mysql_connect można było w czasie pracy działać sobie na stronie która korzystała z tej samej bazy. korzystając z biblioteki PDO nie mogę w tym czasie nic na stronie robić ponieważ nie jest możliwe dostać się do bazy podczas działania skryptu w tle tak jakby PDO kolejkował zapytania i czekał, aż zakończę te działania w tle. Jest taki efekt zawieszenia strony dopóki nie skończy się wcześniejsze zadanie. Strona nie zawiesza się dla innych użytkowników tylko dla osoby która włączy skrypty w tle. co może być przyczyną, że skrypty uruchomione w tle w iframe blokują całkowity dostęp do bazy? mam nadzieję, że nie namieszałem za bardzo. -------------------- Macho odpadacie ;) .
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że to normalne działanie, przynajmniej u mnie w symfony jest tak samo - odpalam skrypt aktualizaujący dane z API i w tym momencie inne podstony mi się nie ładują. Oczywiście na innym komputerze tego nie będzie
![]() . To, że coś w ramce się odpala niczego nie zmienia. Możesz to zrobić ajaxem a i tak bedzie tak samo. Może opowiadam bajki - pewien nie jestem. Sądze jednak, że to prawidłowe działanie. -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 221 Pomógł: 20 Dołączył: 4.05.2006 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
to mnie nie pocieszyłeś
![]() -------------------- Macho odpadacie ;) .
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 70 Pomógł: 4 Dołączył: 16.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
spróbuj zainicjować dwa połączenia do bazy: jedno do odczytu danych, a drugie do updatów
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 221 Pomógł: 20 Dołączył: 4.05.2006 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
tylko, że korzystam z jednego obiektu i z jednego użytkownika do bazy, aby nie powielać połączeń. Mógłbym spróbować utworzyć nowe połączenie dla całkiem nowego użytkownika, ale wydaje mi się, że to nic nie da i że to rozwiązanie nie koniecznie będzie poprawne. Nie mogę też rozdzielić odczytu i zapisu bo np. przy wczytywaniu danych na stronie moje api zmienia np. statusy więc potrzebuje prawa zarówno do odczytu jak i zapisu. W sumie przychodzi mi do głowy pomysł, aby zaangażować w to crona który będzie sprawdzał jakąś zmienną i ewentualnie rozpoczynał import "poza" użytkownikiem tylko, że wtedy nie jestem w stanie pokazać aktualnego stanu pobierania. Choć może i jestem bo mógłbym po zakończeniu działania skryptu z crona podmieniać znów parametr który świadczył by o tym, że import jest już zakończony, ale czy to dobre rozwiązanie? czy może jednak znajdzie się lepsze?
-------------------- Macho odpadacie ;) .
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:03 |