Periodisk fejl ved upload med IdFtp
Jeg har et hjemmelavet afviklingsprogram kørende på en lokalradio, som selv kan uploade playlister når stationen er ubemandet.Det vil sige at afviklingsprogrammet kan generere de html filer der skal uploades.
Hvis jeg indbygger upload rutinerne i afviklingsprogrammet, så enten fryser det periodisk eller det genstarter periodisk.
Hvis det blot skal generere html filerne, så kører det fint.
Ok, tænkte jeg, så laver jeg da blot et selvstændig program som kan klare upload.
Der er en timer der trigger hvert femte sekund.
procedure TForm1.Timer2Timer(Sender: TObject);
var
LokalFilNavn, EksternFilNavn: String;
begin // Checker om der er nye filer der skal uploades, og uploader dem.
Timer2.Enabled := False; // Det kunne tage mere end 5 sekunder.
LokalFilNavn := 'wwwPlaylistOversigt.htm';
EksternFilNavn := HentNogleVardi(LokalFilNavn); // Læser i databasen om der er en ny oversigt klar.
if EksternFilNavn <> '' then
begin // Ny oversigt til upload.
SletGamleFiler;
UploadToPlaylists(LokalFilNavn, EksternFilNavn); // Uploader oversigt
end;
LokalFilNavn := 'wwwPlaylist.htm';
EksternFilNavn := HentNogleVardi(LokalFilNavn); // Læser i databasen om der er en ny playlist klar.
if EksternFilNavn <> '' then
begin // Ny playlist til upload.
UploadToPlaylists(LokalFilNavn, EksternFilNavn); // Uploader playlist.
end;
Timer2.Enabled := True;
end;
procedure TForm1.UploadToPlaylists(Source, Dest: String);
begin
if Ens(HentLokal('ID'), 'Teknik') then
begin // Kun PC'en i teknikken må uploade playlister.
if Upload(HentLokal('WWW.') + Source, Dest, 'Playlists') then
SletNogleVardi(Source); // Fortæl afviklingsprogrammet at upload er gennemført.
end;
end;
function TForm1.UpLoad(Source, Dest, Mappe: String): Boolean;
begin
try
IdFTP.Host := HentNogleVardi('wwwHjemmeside');
IdFTP.Username := HentNogleVardi('wwwBrugernavn');
IdFTP.Password := HentNogleVardi('wwwAdgangskode');
if not IdFTP.Connected then IdFTP.Connect;
IdFTP.ChangeDir('/www/' + Mappe + '/'); //skift evt. dir
IdFTP.Put(Source, Dest, False);
GemNotat(Source + ' er uploadet'); // Skriv i logfil, at upload lykkedes.
IdFTP.Disconnect;
UpLoad := True; // Upload lykkedes.
except
on E: Exception do
begin
GemNotat(Source + ' kan ikke uploades ' + E.Message); // Skriv i logfil, at upload mislykkedes.
UpLoad := False; // UpLoad mislykkedes.
end;
end;
end;
procedure TForm1.GemNotat(N: String);
var
Fil: TextFile;
begin
AssignFile(Fil, 'C:\Uploader.log'); // Åben log fil.
if FileExists('C:\Uploader.log') then
Append(Fil)
else
Rewrite(Fil);
Writeln(Fil, DateToStr(Date) + ', ' + TimeToStr(Time) + ', ' + N);
CloseFile(Fil); // Luk log fil.
end;
Her er en del af logfilen.
Læg mærke til tidspunktet, den prøver hvert femte sekund, mange gange mislykkes det, men somme tider lykkes det.
27-04-2009, 08:51:06, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 08:54:57, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 08:57:42, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 08:57:47, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 08:57:52, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 08:57:57, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 08:58:02, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 08:58:07, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 08:58:12, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 08:58:19, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 08:59:55, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 09:06:17, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 09:09:08, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 09:13:10, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 09:16:06, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 09:18:57, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 09:22:09, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 09:29:15, D:\Musik\www\wwwPlaylist.htm er uploadet
Her er der kørt manuel radio, derfor er der ingen playlist genereret.
27-04-2009, 16:00:04, D:\Musik\www\wwwPlaylistOversigt.htm er uploadet
27-04-2009, 16:01:59, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:02:04, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:02:10, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 16:04:50, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:04:56, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 16:08:48, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 16:12:38, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:12:43, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:12:48, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:12:53, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:12:58, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:03, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:08, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:13, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:18, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:23, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:28, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:33, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:38, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:43, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:48, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:53, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:13:58, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:14:03, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:14:09, D:\Musik\www\wwwPlaylist.htm er uploadet
27-04-2009, 16:16:44, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:16:49, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:16:54, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:16:59, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:17:04, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:17:09, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:17:14, D:\Musik\www\wwwPlaylist.htm kan ikke uploades Socket Error # 10054
Connection reset by peer.
27-04-2009, 16:17:21, D:\Musik\www\wwwPlaylist.htm er uploadet
