Пример #1
0
        /// <summary>
        /// 用于每天同步 删除pathBk表中job已删除的文件
        /// </summary>
        public void DaySync()
        {
            lock (_lock)
            {
                //获取配置时间
                string syncTime = ConfigUtil.AppSetting("daysyncTime");
                if (TimeCheckHelper.CheckTime("daysyncTime", syncTime))
                {
                    try
                    {
                        #region 判断是否有顶级文件夹未传送
                        new System.Threading.Thread(() =>
                        {
                            CheckTopFolder();
                        }).Start();
                        #endregion
                        #region delete pathBk overdue entry
                        Common.LogManager.WriteLog(Common.LogFile.Trace, "delete pathBk overdue entry start:" + DateTime.Now.ToString());

                        //获取今天产生的delete event entry log文件名
                        string       path = AppDomain.CurrentDomain.BaseDirectory + @"log\FSWDeleteEvent" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                        StreamReader sr   = new StreamReader(path);
                        while (!sr.EndOfStream)
                        {
                            string entry = sr.ReadLine();
                            if (entry.Contains("msID:"))
                            {
                                int firstIndex  = entry.IndexOf("msID:") + 5;
                                int secondIndex = entry.IndexOf(";relativePath:");
                                //获取msid
                                string msid = entry.Substring(firstIndex, secondIndex - firstIndex);
                                //获取relativePath
                                string relativePath = entry.Substring(secondIndex + 14);
                                try
                                {
                                    //删除pathBk里相同的项
                                    SyncDAL sd = new SyncDAL();
                                    sd.DeletePath(msid, relativePath);
                                }
                                catch (Exception ex)
                                {
                                    Common.LogManager.WriteLog(Common.LogFile.Error, MessageUtil.GetExceptionMsg(ex, ""));
                                }
                            }
                        }

                        sr.Close();


                        Common.LogManager.WriteLog(Common.LogFile.Trace, "delete pathBk overdue entry end:" + DateTime.Now.ToString());
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        Common.LogManager.WriteLog(Common.LogFile.Error, MessageUtil.GetExceptionMsg(ex, ""));
                    }
                }
            }
        }
Пример #2
0
        static void pathQueue_DequeueHandler(List <PathDesc> items)
        {
            try
            {
                //获取sql
                StringBuilder sb = new StringBuilder("insert into pathBK values ");
                items.ForEach(x => sb.Append("(" + x.msID + ",N'" + x.relativePath.Replace("'", "''") + "'),"));
                sb.Remove(sb.Length - 1, 1);

                SyncDAL sd = new SyncDAL();
                sd.SavePath(sb.ToString());
            }
            catch (Exception ex)
            {
                Common.LogManager.WriteLog(Common.LogFile.Error, MessageUtil.GetExceptionMsg(ex, ""));
            }
        }
Пример #3
0
        /// <summary>
        /// 删除monitorfilelisten 表并初始化
        /// </summary>
        private void TruncateFileListen()
        {
            SyncDAL sd = new SyncDAL();

            sd.TruncateFileListen();
        }
Пример #4
0
        /// <summary>
        /// 删除昨天的路径备份并初始化
        /// </summary>
        private void TruncatePathBk()
        {
            SyncDAL sd = new SyncDAL();

            sd.TruncatePathBk();
        }