private static void DoWork() { Tools.ReadIniFile(); if (!Ftp.WaitForFtpReady()) { throw new Exception("ftp never ready"); } if (!Ftp.RenameFile(Ftp.ServerPath + "FtpReady.txt", "/" + Ftp.DatDir + "/FtpBusy.txt")) { throw new Exception("rename from ready to busy"); } Ftp.FtpGetSortedDirList(); Loc.LoadLocalDats(); Loc.SortLocalDats(); Ftp.AddNewFtpDats(); Ftp.UploadDatsInList(); Ftp.DownloadDatsInList(); if (!Ftp.RenameFile(Ftp.ServerPath + "FtpBusy.txt", "/" + Ftp.DatDir + "/FtpReady.txt")) { throw new Exception("rename from busy to ready"); } if (Tools.ErrorOccured) { Tools.WriteLog(); } }
private static void MoveFtpDatToArchive(Dat dat) { Tools.Log("Start MoveFtpDatToArchive " + dat.FtpNameTime + "_" + dat.OrderNum + ".dat"); var curDatPath = Ftp.ServerPath + "/" + dat.FtpNameTime + "_" + dat.OrderNum + ".dat"; var achDatPath = "/" + Ftp.AchDir + "/" + dat.FtpNameTime + "_" + dat.OrderNum + ".dat"; Ftp.RenameFile(curDatPath, achDatPath); }
static void Main(string[] args) { try { DoWork(); } catch (Exception e) { Tools.Report("Main loop error", e); Ftp.RenameFile(Ftp.ServerPath + "FtpBusy.txt", "/" + Ftp.DatDir + "/FtpReady.txt"); Tools.WriteLog(); } }
public static bool WaitForFtpReady() { Tools.Log("Start WaitForFtpReady"); var ftpRdy = false; var ftpBsy = false; for (var i = 1; i < 50; i++) { ftpBsy = Ftp.DownloadString("FtpBusy.txt"); ftpRdy = Ftp.DownloadString("FtpReady.txt"); if (ftpRdy == true && ftpBsy == false) { return(true); } else if (ftpRdy == true && ftpBsy == true) { Tools.Report("FtpSync WaitForReady found both 'ready' & 'busy'", new Exception()); FtpDeleteFile("FtpBusy.txt"); } else if (ftpRdy == false && ftpBsy == false) { Tools.Report("FtpSync WaitForReady did not find 'ready' or 'busy'", new Exception()); Ftp.UploadString("FtpReady.txt"); } else { System.Threading.Thread.Sleep(3000); } if (i == 48) { Tools.Report("FtpSync WaitForReady timed out waiting, setting as 'ready'", new Exception()); Ftp.UploadString("FtpReady.txt"); FtpDeleteFile("FtpBusy.txt"); } } Tools.Report("FtpSync error making ready, exited", new Exception()); return(false); }