예제 #1
0
        public void WriteToDB(bool insert, bool forcenow)
        {
            // Do not write every single info to db
            if (!insert && !forcenow && (DateTime.UtcNow - lastDBWrite).TotalSeconds < 60)
            {
                return;
            }

            DatabaseCommandUpSert cmd = new DatabaseCommandUpSert(db, "TaskBackupSync");

            cmd.AddField("TaskID", TaskID);
            cmd.AddField("StartJobID", StartJobID);
            cmd.AddField("JobType", (int)Type);
            cmd.AddField("StartTS", StatTaskStart, true, true);
            cmd.AddField("EndTS", StatTaskEnd, true, true);
            cmd.AddField("AgentMachineName", AgentMachineName);
            cmd.AddField("SourcePath", SourcePath);
            cmd.AddField("DestinationPath", DestinationPath);
            cmd.AddField("FileCount", StatFileCount);
            cmd.AddField("FileCreateCount", StatFileCreateCount);
            cmd.AddField("FileCopyCount", StatFileCopyCount);
            cmd.AddField("FileCopyOKCount", StatFileCopyOKCount);
            cmd.AddField("FileCopyErrorCount", StatFileCopyErrorCount);
            cmd.AddField("FileDeleteCount", StatFileDeleteCount);
            cmd.AddField("FileDeleteOKCount", StatFileDeleteOKCount);
            cmd.AddField("FileDeleteErrorCount", StatFileDeleteErrorCount);
            cmd.AddField("DirCount", StatDirCount);
            cmd.AddField("DirCreateCount", StatDirCreateCount);
            cmd.AddField("DirCreateOKCount", StatDirCreateOKCount);
            cmd.AddField("DirCreateErrorCount", StatDirCreateErrorCount);
            cmd.AddField("DirDeleteCount", StatDirDeleteCount);
            cmd.AddField("DirDeleteOKCount", StatDirDeleteOKCount);
            cmd.AddField("DirDeleteErrorCount", StatDirDeleteErrorCount);
            cmd.AddField("ByteCopyCount", StatByteCopyCount);
            cmd.AddField("ByteCopyOKCount", StatByteCopyOKCount);
            cmd.AddField("ErrorCount", StatErrorCount);

            if (insert)
            {
                cmd.ExecuteInsert(DatabaseCommandOptions.LogError | DatabaseCommandOptions.ThrowException);
            }
            else
            {
                cmd.ExecuteUpdate(DatabaseCommandOptions.LogError | DatabaseCommandOptions.ThrowException, String.Format("TaskID = {0}", TaskID));
            }

            lastDBWrite = DateTime.UtcNow;
        }
예제 #2
0
		public void WriteToDB(bool insert, bool forcenow)
		{
			// Do not write every single info to db
			if (!insert && !forcenow && (DateTime.UtcNow - lastDBWrite).TotalSeconds < 60)
				return;

			DatabaseCommandUpSert cmd = new DatabaseCommandUpSert(db, "TaskBackupSync");

			cmd.AddField("TaskID", TaskID);
			cmd.AddField("StartJobID", StartJobID);
			cmd.AddField("JobType", (int)Type);
			cmd.AddField("StartTS", StatTaskStart, true, true);
			cmd.AddField("EndTS", StatTaskEnd, true, true);
			cmd.AddField("AgentMachineName", AgentMachineName);
			cmd.AddField("SourcePath", SourcePath);
			cmd.AddField("DestinationPath", DestinationPath);
			cmd.AddField("FileCount", StatFileCount);
			cmd.AddField("FileCreateCount", StatFileCreateCount);
			cmd.AddField("FileCopyCount", StatFileCopyCount);
			cmd.AddField("FileCopyOKCount", StatFileCopyOKCount);
			cmd.AddField("FileCopyErrorCount", StatFileCopyErrorCount);
			cmd.AddField("FileDeleteCount", StatFileDeleteCount);
			cmd.AddField("FileDeleteOKCount", StatFileDeleteOKCount);
			cmd.AddField("FileDeleteErrorCount", StatFileDeleteErrorCount);
			cmd.AddField("DirCount", StatDirCount);
			cmd.AddField("DirCreateCount", StatDirCreateCount);
			cmd.AddField("DirCreateOKCount", StatDirCreateOKCount);
			cmd.AddField("DirCreateErrorCount", StatDirCreateErrorCount);
			cmd.AddField("DirDeleteCount", StatDirDeleteCount);
			cmd.AddField("DirDeleteOKCount", StatDirDeleteOKCount);
			cmd.AddField("DirDeleteErrorCount", StatDirDeleteErrorCount);
			cmd.AddField("ByteCopyCount", StatByteCopyCount);
			cmd.AddField("ByteCopyOKCount", StatByteCopyOKCount);
			cmd.AddField("ErrorCount", StatErrorCount);

			if (insert)
				cmd.ExecuteInsert(DatabaseCommandOptions.LogError | DatabaseCommandOptions.ThrowException);
			else
				cmd.ExecuteUpdate(DatabaseCommandOptions.LogError | DatabaseCommandOptions.ThrowException, String.Format("TaskID = {0}", TaskID));

			lastDBWrite = DateTime.UtcNow;
		}