Zmieniono obsługę bufora operacji/ Zmieniono taktowanie bufora operacji z 1 minuty na 30 sek., czyli polecenie
CoIleMinutSprawdzacBuffer =2 wbrew nazwie będzie oznaczało 1 minutę
CoIleMinutSprawdzacBuffer =3 - 1:30.
Dodaliśmy interfejs do bufora, tak, ze jest ona wyświetlany na liście. Można stamtąd usuwać operacje lub zmieniać ich statusy.
Ma to sens - jeśli np w buforze mamy nieprawidłowe polecenia (np polecenie wydrukowania nieistniejącego dokumentu).
Lista dostępna z menu funkcji administratora.
-------
* to ostanie zdarzało się dość często - minuta to było za długo aby poczekać, wiec użytkownik usuwał dokument, zanim on został obsłużony. Wtedy system próbował realizować polecenie w nieskończoność.
Bufor operacji
Moderator: jacqueline
Aktualne wersje Firebirda (bodaj od 2.0) obsługują eventy:) Są trochę "zamotane", tzn nie można wysłać w nich informacji co się zmieniło (ID rekordu), tylko trzeba sobie pomagać dodatkową tablicą (trigger po dodaniu rekordu zapisuje EV_COS.ID = noweID_cosia oraz dodatkowo wysyła eventa).
Możnaby w ten sposób uniknąć przekopywania tabeli co pół minuty (czyli prawie 3tys razy na dobę, żeby zafiskalizować... 10 paragonów?). Jeśli dobrze pamiętam, zachowana zostaje największa zaleta buffera, czyli nie trzeba restartować klientów drukarki fiskalnej po każdym restarcie Plazy-hosta. Tylko host musiałby przy starcie sprawdzać, czy podczas jego "nieobecności" nic nowego do buffera (w bazie danych) nie wpadło.
Możnaby w ten sposób uniknąć przekopywania tabeli co pół minuty (czyli prawie 3tys razy na dobę, żeby zafiskalizować... 10 paragonów?). Jeśli dobrze pamiętam, zachowana zostaje największa zaleta buffera, czyli nie trzeba restartować klientów drukarki fiskalnej po każdym restarcie Plazy-hosta. Tylko host musiałby przy starcie sprawdzać, czy podczas jego "nieobecności" nic nowego do buffera (w bazie danych) nie wpadło.
Rewelacja. Myślałem o eventach, ale jakoś się na to nie zdecydowałem. Po powyższych uwagach i przeczytaniu tego:
Opis eventów uważam, ze muszę szybko przerobić bufor.
Opis eventów uważam, ze muszę szybko przerobić bufor.
Trochę trwało zanim znalazłem czas. Wiele "czasomierzy" przerobiłem na eventy. Między innymi bufor zdarzeń. Sam jestem z siebie dumny.
Głównymi zmianami są:
1) Zmiana zastosowania SystemStateCheckInterval, który do tej pory odpowiadał za odpytywanie serwera o date i numer zmiany. Teraz ustawienie wartości na 0 powoduje oczekiwanie na zdarzenie zmiany daty.
2) Parametr CoIleMinutSprawdzacBuffer może też przyjmować wartość 0 - i jak powyższy parametr powoduje sprawdzanie bufora tylko przy zdarzeniu dopisania do bufora.
Uwaga:
zmiany zadziałają tylko wtedy,gdy zainstalowane będą zapadki oraz wersja serwera to Firebird >2.0. W innym przypadku nadal należy korzystać z poprzednich rozwiązań
Głównymi zmianami są:
1) Zmiana zastosowania SystemStateCheckInterval, który do tej pory odpowiadał za odpytywanie serwera o date i numer zmiany. Teraz ustawienie wartości na 0 powoduje oczekiwanie na zdarzenie zmiany daty.
2) Parametr CoIleMinutSprawdzacBuffer może też przyjmować wartość 0 - i jak powyższy parametr powoduje sprawdzanie bufora tylko przy zdarzeniu dopisania do bufora.
Uwaga:
zmiany zadziałają tylko wtedy,gdy zainstalowane będą zapadki oraz wersja serwera to Firebird >2.0. W innym przypadku nadal należy korzystać z poprzednich rozwiązań