Procedura uruchamiana co jakiś okres czasu

0

Witam,
Mam pytanie odnośnie procedury w MySQL. Chodzi o uruchomienie jej co wyznaczony okres czasu dla wszystkich rekordów, albo jeszcze lepiej dla tych co się pojawiają dla każdego z osobna po wyznaczonym czasie.
Buguje mi się status zamówienia co jakiś czas, 0- wolny, 1- w trakcie, 3 - wypłacone, często bywa tak, że przy próbie wypłaty coś pójdzie nie tak, minie czas do wypłaty, a status nie wróci do 0 tylko zostaje 1 i klient nie może drugi raz wypłacić.
Najlepiej jakby każdy pojawiający się rekord ze statusem 1 po np 10 min był UPDATE na 0.
Z góry dziękuję za pomoc,
Pozdrawiam

0

Nie lepiej zrobić to po bożemu tj. znaleźć źródło problemu i naprawić ?

Co jak zrobisz taką procedurę, a coś się przyblokuje i po 10 minutach status '1' byłby poprawny, a ty byś go zmienił na 3 ?

0

Na pewno lepiej, ale sam nie jestem w stanie takiego czegoś znaleźć, a chciałem coś takiego zrobić, żeby programiście nie zawracać głowy.
Masz rację co do tego, że czasami może coś się przyblokować i potem wyjdzie kaszanka, pozostaje mi tylko zmiana za pomocą kwerend co jakiś czas. Nie jestem 24h przy kompie dlatego nawet z zapasem 20-30 min taka kwerenda, by się wykonywała to i tak byłoby lepiej niż jak ją zrobię po całej nocy dopiero.
Proszę mi napisać jakąś prostą procedurę dla każdego nowego rekodu z opóźnieniem czasowym, a ja ustawię jakiś zapas czasu, np 30 min zamiast 10 i wtedy nie powinno być problemów , sam już nie wiem.
Dziękuję

0

Bezpieczniej napisać procedurę, która co jakiś czas sprawdzi czy status transakcji jest zgodny z jej statusem w logach. Ale to generalnie wymyślanie koła na nowo i moim zdaniem lepiej przycisnąć programistę, żeby poprawił kod (może mu to zajmie np. 15 minut, bo problem jest banalny).

Nie wiem jak to w MySQLu wygląda. Gdybym koniecznie coś takiego musiał zrobić to cała sztuczna polega na sprawdzeniu aktualnego scn i odjęciu scn rekordu > 10 minut.
I job uruchamiający taką procedurę co 10 minut...

0

Pogadam z programistą, bo faktycznie lepiej naprawić błąd w kodzie.
Dzięki wielkie :)
pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1