Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.781 pregleda

Najnovija ↓

TIBBackupService i ProgressBar 18.09.2014. u 09:56 · pre 147 meseci #1
Koristim TIBBackupService za backup FB baza podataka.
Da li postoji način da se backup veže sa progressbarom, tj. da se sazna max vrijdnost za progressbar? Nisam uspio ništa pronači na web-u.

verbose me ne zadovoljava, ne trebaju mi linije izvršenja već progress, da korisnik zna koliko mu je ostalo do kraja (bar približno) i da se program nije zamrznuo.
Re: TIBBackupService i ProgressBar 18.09.2014. u 13:32 · pre 147 meseci #3
Doduše ja radim s IBDAC kontrolama, no mislim da je smisao isti.

Kod mene:
Code:

... isječak
with bs1 do
        begin
          Server := Config.dbCon.Server;
          Database := Config.dbCon.Database;
          Username := Config.dbCon.Username;
          Password := Config.dbCon.Password;
          ClientLibrary := Config.dbCon.ClientLibrary;
          LoginPrompt := Config.dbCon.LoginPrompt;
          BackupFile.Clear;
          BackupFile.Add( TITHelper.addslash( Config.Path.BackupTemp ) + dbn + '.FBK' );
          Verbose := True;
          Attach;
        end;
      try
        bs1.ServiceStart;
        while not bs1.Eof do
          begin
            meProgress.Lines.Add( bs1.GetNextLine );
            if pbProgress.Position >= pbProgress.Max
            then
              pbProgress.Position := pbProgress.Min;
            pbProgress.StepIt;
            Application.ProcessMessages;
          end;
      finally
        bs1.Detach;
        CodeSite.SendNote( 'BACKUP STOP SVC' );
      end;


Kroz ovu petlju backup service vraća poruke koliko i što je odradio i napredak, odnosno šalje poruke.
Nisam gleda, postoji li i kakav recordcount, zadovoljio sam se samo hvatanjem poruka u log i kakvim-takvim progressom.

Inače imam složen mehanizam za gbak i nbackup, kroz TIBCBackupService i lokalno na svakom klijentu mogu pamtiti podatke o inkrementalnim backupovima na nivou svake baze i generaciji kopija, a kod gbak-a. održavam maksimum n generacija backupova, a prijašnje brišem. Plus dodatno mogućnost zipanja backupova. Nbackup mi je draži jer za izradu backupova na klijent ne moram koristiti zavrzlame sa sheranim backup folderom na serveru.

Realno ne možeš znati koliko on ima posla za odraditi. Primjer iz posta gore također ne riješava taj problem. U tom primjeru prati po ključnim riječima i segmentima backupa; koliko je odradio (koliko sam na brzinu bacio oko na kod). Najviše će vremena trošiti na backup tablica, a taj korak vrednuje jednako kao i backup svih ostalih db objekata što je nerealno.

U obradama za koje ne znam koliko traju i kolika im je krajnja vrijednost stavljam kružni progressbar i samo obavještavam koliko proces traje (razna kopiranja, obrade i sl.) i uglavnom ih radim kroz threadove i sinhroniziram podatke na forme.

Kako vi imate riješen backup IB/FB baza?
Potpis
God is real unless is declared as integer.
Re: TIBBackupService i ProgressBar 18.09.2014. u 14:09 · pre 147 meseci #4
Nekoliko mogucnosti:
Koristi neki kružni progress bar (koji se stalno vrti)
Ako se radi o bekapu iste baze da svaki put sačuvaš trajanje backupa i onda kod narednog vidiš trajanje prethodnog i na osnovu toga prikažeš progress.
Da pre početka bekapa vidiš broj domena, indeksa, sve tabele i broj rekorda u njima i onda tokom bekapa pratiš gbak output i na osnovu toga vidiš gde si.

Najlakši ti je način broj 2.

Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: TIBBackupService i ProgressBar 18.09.2014. u 15:37 · pre 147 meseci #5
Zahvaljujem na brzim odgovorima. Upravo sam tako i ja mislio: pamtiti posljednje vrijeme backupa i njega koristiti kao max za progressbar.
Možda probati s timerom da mi progress fino klizi... a i lakše mi je nogo pamtiti broj linija. Na predhodni backup dodam nešto vremena.
Re: TIBBackupService i ProgressBar 18.09.2014. u 15:45 · pre 147 meseci #6
Što ti opet može odstupati ovisno o broju aktivnih procesa, zauzetosti diska, opterećenju db servera i sl.
Sa psihološkog aspekta, korisnici se jaaaako pouzdaju u progressbar i ono što im serviraš. Ili će ti se buniti jer će po njima nešto završavati već na 80% ili će se čuditi što je progress došao do kraja, a još uvijek stoji na mjestu.
Zato je po meni kao što sam pisao umjesto gatanja iz dlana bolje im ponuditi cirkularni progress koji se kod svake odrađene linije zavrti za jedan korak i neke informacije na kraju koliko je trajalo, je li sve ok, gdje je zapisano itd.
Potpis
God is real unless is declared as integer.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme