Błąd podczas aktualizacje cen z CSV

Tutaj znajdziesz zgłaszane problemy oraz ich rozwiązania. Proszę obowiązkowo zapoznać się z podwieszonym poradnikiem "Jak prawidłowo zgłosić problem?".
Zildijan
Zaawansowany użytkownik EU
Posty: 346
Rejestracja: 24 maja 2013, 19:27

Błąd podczas aktualizacje cen z CSV

Postautor: Zildijan » 24 mar 2019, 10:57

Aktualizuje ceny z CSV w którym są kolumny KOD i CENA_KT. Hurtowa edycja i aktualizuje dowolny element na podstawie generatora.
Mam kilka kont po ok 10 000 aukcji, dlatego każde konto włączam na osobnej kopii EU, aby szybciej wykonać tą operację.

Za każdym razem zdarza się tak, że na wybranym koncie (lub kilku) YYYYYY pojawia się poniższy błąd, że błąd odczytu aukcji o ID z konta XXXXXXX.
Błąd jest bezsensowny, ponieważ aktualizuje konkretne konto a błąd odczytu jest na innym, po czym przestaje aktualizować CENA_KT i muszę wyłączyć EU z menadżera zadań i ponownie wykonywać operację, przez co nie mogę skorzystać później z opcji "zaznacz tylko zmodyfikowane aukcje", ponieważ do czasu błędu część cen się zaktualizowało, co powoduje konieczność aktualizacji wszystkich aukcji i niepotrzebnie zmarnowany czas (tzn. nie jestem do końca pewien, czy część cen zaktualizowało, czy z powodu błędu nie nadpisało żadnej z cen).

Usuwanie takich aukcji o wskazanym ID nie przynosi żadnego efektu.

Dziś przewidziałem, że poproszę Was o pomoc i przed aktualizacją wykonałem naprawę bazy, aby wykluczyć jej uszkodzenie, lecz też nie pomogło.


Błąd przy odczycie aukcji o numerze ID=861698 na koncie XXXXXXXXXXXX:
FirebirdSql.Data.FirebirdClient.FbException (0x80004005): BLOB not found ---> BLOB not found
w FirebirdSql.Data.FirebirdClient.FbDataReader.CheckedGetValue[T](Func`1 f)
w EasyUploader.Aukcje.AukcjeIO.Wczytaj(Object idAukcji, String warunek, Boolean bez_opisow, Boolean bez_zdjec)

EasyUploader.EuException: Błąd przy odczycie aukcji o numerze ID=861698 na koncie XXXXXXXXXXXX:
FirebirdSql.Data.FirebirdClient.FbException (0x80004005): BLOB not found ---> BLOB not found
w FirebirdSql.Data.FirebirdClient.FbDataReader.CheckedGetValue[T](Func`1 f)
w EasyUploader.Aukcje.AukcjeIO.Wczytaj(Object idAukcji, String warunek, Boolean bez_opisow, Boolean bez_zdjec)
w EasyUploader.TaskMod.Wait(Task tsk)
w EasyUploader.frmAukcjeLista.toolButtonHurtEdycja_Click(Object sender, EventArgs e)
w System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
w System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
w System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
w System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
w System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
w System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
w System.Windows.Forms.Control.WndProc(Message& m)
w System.Windows.Forms.ToolStrip.WndProc(Message& m)
w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

PhotoSoft
Administrator
Posty: 1731
Rejestracja: 14 cze 2011, 13:10
Kontaktowanie:

Re: Błąd podczas aktualizacje cen z CSV

Postautor: PhotoSoft » 25 mar 2019, 11:10

Wiem w czym problem. Poprawię to.
Pozdrawiam, Marcin
photosoft.allegro(małpa)gmail.com

:idea: Jak przesłać logi XML?

:idea: Tutaj pobierzesz najnowszy instalator EU

Zildijan
Zaawansowany użytkownik EU
Posty: 346
Rejestracja: 24 maja 2013, 19:27

Re: Błąd podczas aktualizacje cen z CSV

Postautor: Zildijan » 31 mar 2019, 15:59

Oczywiście czekam cierpliwie.
Dodam tylko, że podczas aktualizacji cen na dole są dwie belki:
- Przygotowanie danych
- Hurtowa edycja CSV na podstawie generatora aukcji

Gdy pojawia się błąd, wówczas znika "Hurtowa edycja..." i zostaje tylko "przygotowanie danych" i trzeba wyłączyć całe EU z poziomu menadżera zadań, po czym od nowa przeprowadzić aktualizację.

Zildijan
Zaawansowany użytkownik EU
Posty: 346
Rejestracja: 24 maja 2013, 19:27

Re: Błąd podczas aktualizacje cen z CSV

Postautor: Zildijan » 13 kwie 2019, 11:27

Po optymalizacji aktualizacji z CSV nie jest dobrze.
Przed optymalizacją ok 6000 pozycji aktualizowało się w ok godzinę, teraz woła ok. 7 - 13 godzin.
7 kopii EU po 6-10 tys. aukcji.
Taki czas niestety uniemożliwia szybkie korzystanie z tej funkcji, a nie ma innej.

Czy istnieje możliwość przyśpieszenia lub ostatecznie powrócenia do poprzedniej wersji z błędem?

---

Muszę zrobić ceny, więc alternatywnie robię tą operację na 1 kopii EU z wybranymi wszystkimi kontami = 66000 aukcji i czas pokazuje ~ 6-7h.
Pochłania to do 3 GB RAM. Wydaje się, że 1 rdzeń w całości zajmuje się tym procesem.

Wcześniej odpalałem wiele kopii EU, ponieważ szybciej przebiegała aktualizacja z CSV przy zaznaczeniu mniejszej ilości aukcji na każdej z kopii,
następnie szybciej aktualizacja na allegro mniejszej ilości zaznaczonych aukcji z zaktualizowaną ceną.
Teraz zauważam, że powodem spowalniania aktualizacji przy włączonych wielu kopiach EU jest również zajęty cały ram 8 GB, przez co się dusi..
Mam ustawione automatyczne odświeżanie parametrów co 1h (bez opłat i promocji) i na każdej kopii EU się to wykonuje niestety, co dodatkowo na pewno zżera RAM. Szkoda że się nie da ograniczyć tego do 1 kopii EU.

To tak informacyjnie.

Coś Pan zmienił podczas obecnej optymalizacji, co tak znacznie spowalnia aktualizację z CSV. Będę wdzięczny za przyjrzenie się sprawie.


---

Aktualizacja 66000 aukcji przebiegła w czasie 13 godzin :( (przy niskim zużyciu zasobów).
Po pytaniu czy zaznaczyć zmodyfikowane aukcji, zaznaczyło się wiele aukcji, których w ogóle nie było w CSV :( więc nie mogły być zaktualizowane.
Mam nadzieję, że znajdzie Pan czas na tą sprawę, bo bez narzędzia tego jak bez ręki.

PhotoSoft
Administrator
Posty: 1731
Rejestracja: 14 cze 2011, 13:10
Kontaktowanie:

Re: Błąd podczas aktualizacje cen z CSV

Postautor: PhotoSoft » 15 kwie 2019, 11:23

Teraz zapis jest porcjami po 200 aukcji, więc licznik może pokazywać błędny czas. Ale jak Pan uruchamia po kilka kopii to faktycznie zapcha się RAM i wszystko spowalnia.

Może Pan pobrać nowy instalator i sprawdzić czy przy pojedynczym zapisie jest szybciej.

Dlatego nie korzysta Pan ze specjalnie przeznaczonej funkcji do aktualizacji cen i sztuk? Przy pliku z generatora musi być wczytana cała aukcja ze zdjęciami. To nie ma sensu przy modyfikacji tylko tych dwóch parametrów.

Zaznaczania zmodyfikowanych aukcji nie ruszałem i ta funkcja nie ma na nie wpływu. To może być efekt zapchanego RAMu.
Pozdrawiam, Marcin
photosoft.allegro(małpa)gmail.com

:idea: Jak przesłać logi XML?

:idea: Tutaj pobierzesz najnowszy instalator EU

Zildijan
Zaawansowany użytkownik EU
Posty: 346
Rejestracja: 24 maja 2013, 19:27

Re: Błąd podczas aktualizacje cen z CSV

Postautor: Zildijan » 15 kwie 2019, 12:09

PhotoSoft pisze:Dlatego nie korzysta Pan ze specjalnie przeznaczonej funkcji do aktualizacji cen i sztuk? Przy pliku z generatora musi być wczytana cała aukcja ze zdjęciami. To nie ma sensu przy modyfikacji tylko tych dwóch parametrów.

Zaznaczania zmodyfikowanych aukcji nie ruszałem i ta funkcja nie ma na nie wpływu. To może być efekt zapchanego RAMu.


1) Specjalna funkcja do cen i sztuk jest wolniejsza i coś nie bardzo działał pasek stanu, ale chyba odliczanie odbywało się na ikonce zapisu do bazy. Generatorem było duży szybciej, przyjemniej i współpracował pasek stanu. Kilka kopii EU to nie był żaden problem, mimo zapchanego RAMu.

2) Zaznaczyło błędnie zmodyfikowane aukcje, mimo niezapchanego RAMu. Ponad 12 godzin robiło na 1 kopii EU z wolnym RAM ok 2GB i z wykorzystaniem 1 rdzenia procesora.


Przetestuję nową wersję i dam znać.

Zildijan
Zaawansowany użytkownik EU
Posty: 346
Rejestracja: 24 maja 2013, 19:27

Re: Błąd podczas aktualizacje cen z CSV

Postautor: Zildijan » 15 kwie 2019, 13:48

Na 1 kopii EU leci teraz, aż miło. Sprawdzę działanie opcji "zaznacz zmodyfikowane..", a wieczorem na wielu kopiach.

PhotoSoft pisze:Przy pliku z generatora musi być wczytana cała aukcja ze zdjęciami.


U mnie CSV do aktualizacji cen pod Generator składa się z 2 kolumn, KOD i CENA_KT .
O jakie wczytywanie aukcji chodzi? Czy może gdzieś wczytuje się cała aukcja, która następnie aktualizuje się na podstawie 2 kolumn z CSV?

PhotoSoft
Administrator
Posty: 1731
Rejestracja: 14 cze 2011, 13:10
Kontaktowanie:

Re: Błąd podczas aktualizacje cen z CSV

Postautor: PhotoSoft » 15 kwie 2019, 14:06

Zildijan pisze:Na 1 kopii EU leci teraz, aż miło.

Dla mnie to jest dziwne, ponieważ teoretycznie szybciej jest raz połączyć się z bazą i zapisać 200 aukcji, niż zapisywać pojedynczo. To są dodatkowe niepotrzebne połączenia.
Zildijan pisze:Czy może gdzieś wczytuje się cała aukcja, która następnie aktualizuje się na podstawie 2 kolumn z CSV?

Zgadza się.
Zildijan pisze:Specjalna funkcja do cen i sztuk jest wolniejsza

To ciekawe, że jest wolniejsza jak tam aktualizacja odbywa się poprzez SQL bez wczytywania aukcji do edycji :) Dlatego pasek postępu nie wskazuje konkretnego czasu do końca.
Pozdrawiam, Marcin
photosoft.allegro(małpa)gmail.com

:idea: Jak przesłać logi XML?

:idea: Tutaj pobierzesz najnowszy instalator EU

Zildijan
Zaawansowany użytkownik EU
Posty: 346
Rejestracja: 24 maja 2013, 19:27

Re: Błąd podczas aktualizacje cen z CSV

Postautor: Zildijan » 16 kwie 2019, 12:24

Nie chwaląc dnia przed zachodem słońca skorzystałem z funkcji "Kompaktuj bazę" czym wyeliminowałem efekt zapychania RAMu.
Przed wersją z RestAPI robiłem naprawę bazy na inną okoliczność, kompaktowanie jednak było konieczne.

Na razie 7 kopii EU po 6000-12000 aukcji na kopię i z 8GB RAM jest jeszcze 1GB zapasu na stabilność.

Obserwuję, że im więcej kopii, tym bardziej zwalnia aktualizuja z CSV.
1 kopia to ok. 1h, 7 kopii to ok 3h. Podejrzewam, że to już efekt wydajności procesora - 4 rdzenie są wykorzystane niemal do 100% , 4 pozostałe nieznacznie.

Jak się wszystko zrobi dam znać jak wyszło.

Zildijan
Zaawansowany użytkownik EU
Posty: 346
Rejestracja: 24 maja 2013, 19:27

Re: Błąd podczas aktualizacje cen z CSV

Postautor: Zildijan » 18 kwie 2019, 17:05

Aktualizacja 7 kopii EU na raz po 6000 - 12000 aukcji każda wynosi około 6 godzin.

Wcześniejszy problem z bazą tworzył błędy wyniki Pana optymalizacji odnośnie zapisu 200 pozycji na raz.
Czy dla ponownych testów jest możliwość ponownego zrobienia wersji EU z zapisem 200 pozycji na raz?

Przy okazji z ciekawości zapytam, dlaczego 200 a nie np. 500?


Wróć do „Pomoc w obsłudze programu”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości