![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 11.01.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Jest jakakolwiek możliwość, zby wykonało się 1 zapytanie, a drugie nie? (zakładając, że dane w zmiennych są poprawne)
Ponieważ raz na jakiś czas dodaje mi transakcję (insert into transaction_pay...), ale już nie aktualizuje ilości towarów (update transactions ...) Wspomnę tylko, że ten kawałek kodu jest dość często uruchamiany (cronem co 3minuty a następnie w pętli po kilkaset razy). Gdzie szukać problemu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Tak się zastanawiam czy po prostu nie możesz sprawdzić czy zapytanie się wykonało i jeśli tak to wykonujesz drugie?
Transakcje wydawało mi się, że służą troszkę bardziej rozbudowanym celom - np. dodawanie tysiąca rekordów - jeden się nie doda to cofasz i naprawiasz. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 11.01.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Tak się zastanawiam czy po prostu nie możesz sprawdzić czy zapytanie się wykonało i jeśli tak to wykonujesz drugie? Tak robiłem do tej pory, ale czasami zdarzało się, że dodawało do 1 tabeli, ale nie aktualizowało w 2 tabeli. Dlatego pomyślałem o transakcjach. Mam jeszcze jeden pomysł. Bo ten kod jest uruchamiany w cronie i bardzo często używany (setki razy wykonywany co kilka minut). Na drugiej tabeli jest wykonywanych znacznie więcej operacji, również przez inny cron. Może po prostu jest natłok operacji na danej bazie i czasami operacje nie są wykonywana? Jest na to jakaś metoda? Czy blokowanie tablic jest odpowiednie? (nie chciałbym zeby reszta zapytań w tym czasie jak wykonuje jedno to się nie wykonywała lub zwracała błąd, tylko oczekiwała na swoją kolej) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 08:33 |