static void Main(string[] args) { SQL.ConnectionString = ConfigurationManager.AppSettings["ConsoleConnectionString"].ToString(); //"Provider=PostgreSQL; Unicode=true; host=192.168.1.11; Database=webtalonXtula; user=asu; password=asu"; var threadCount = Settings.Default.ThreadCount; var lpu = "2370b2cd-c7ec-432b-aed5-93e074ee45a9"; var datetimebegin = DateTime.Now; MainActivityRer.UpdatePrescs(1, datetimebegin); }
/* * private void TimerElapsedUpdateLpuSettings(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdateLpuSettings]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdateLpuSettings); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdateLpuSettings], UpdatelEnum.UpdateLpuSettings.ToString()); * } * } * * private void TimerElapsedUpdateAreas(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdateAreas]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdateAreas); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdateAreas], UpdatelEnum.UpdateAreas.ToString()); * } * } * * private void TimerElapsedUpdateSchedule(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdateSchedule]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdateSchedule); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdateSchedule], UpdatelEnum.UpdateSchedule.ToString()); * } * } * * private void TimerElapsedUpdatePeople(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdatePeople]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdatePeople); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdatePeople], UpdatelEnum.UpdatePeople.ToString()); * } * } * * private void TimerElapsedUpdateArrival(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdateArrival]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdateArrival); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdateArrival], UpdatelEnum.UpdateArrival.ToString()); * } * } * * private void TimerElapsedUpdateReferral(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdateReferral]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdateReferral); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdateReferral], UpdatelEnum.UpdateReferral.ToString()); * } * } * * private void TimerElapsedUpdateCall(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdateCall]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdateCall); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdateCall], UpdatelEnum.UpdateCall.ToString()); * } * } * * private void TimerElapsedCleanBuffers(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.CleanBuffers]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.CleanBuffers); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.CleanBuffers], UpdatelEnum.CleanBuffers.ToString()); * } * } * * private void TimerElapsedUpdateLpuNames(object sender, ElapsedEventArgs e) * { * var timer = Timers[UpdatelEnum.UpdateLpuNames]; * timer.Enabled = false; * UpdateFedBase(UpdatelEnum.UpdateLpuNames); * if (!_isPause && _isConnected) * { * timer.Enabled = true; * LogNextTime(Timers[UpdatelEnum.UpdateLpuNames], UpdatelEnum.UpdateLpuNames.ToString()); * } * } * * private void TimerElapsedRestoreConnect(object sender, ElapsedEventArgs e) * { * CheckConnectFed(); * } */ private static void UpdateFedBase(UpdatelEnum aCode) { // ограничиваем размер очереди if (_threadCount >= 10) { Logger.Trace("CAST AWAY code: {1} (current count = {0})", _threadCount, aCode); return; } //кол ожидающих в очереди _threadCount++; Logger.Trace("Thread count = {0} ++ (code: {1})", _threadCount, aCode); // блокируем параллелльное вхождение lock (InstanceLockObjectFed) { bool res = false; try { var timeBegin = DataRepository.GetCurrentTimestamp(); //запускаем все проливки в одно время Logger.Trace("Service: {0}; datetime_on: {1}", aCode, timeBegin.ToString()); switch (aCode) { case UpdatelEnum.UpdatePrescs: MainActivityRer.UpdatePrescs(Settings.Default.ThreadCount, timeBegin); res = true; break; /* * case UpdatelEnum.UpdateLpuSettings: * //MainActivityRer.UpdateLpuSettings(Settings.Default.ThreadCount); * res = true; * break; * * case UpdatelEnum.UpdateAreas: * //MainActivityRer.UploadAreas(Settings.Default.ThreadCount); * res = true; * break; * * case UpdatelEnum.UpdateArrival: * //MainActivityRer.UploadArrival(true, Settings.Default.ThreadCount); * res = true; * break; * * case UpdatelEnum.UpdateCall: * //MainActivityRer.UploadCall(Settings.Default.ThreadCount); * res = true; * break; * * case UpdatelEnum.UpdatePeople: * //MainActivityRer.UploadPeople(true, Settings.Default.ThreadCount); * res = true; * break; * * case UpdatelEnum.UpdateReferral: * //MainActivityRer.UploadReferral(Settings.Default.ThreadCount); * res = true; * break; * * case UpdatelEnum.UpdateSchedule: * //MainActivityRer.UpdateDoctors(Settings.Default.ThreadCount, timeBegin); * //MainActivityRer.UploadSchedule(true, Settings.Default.ThreadCount, timeBegin); * //MainActivityRer.UploadPeople(true, Settings.Default.ThreadCount, timeBegin); * //MainActivityRer.UploadArrival(true, Settings.Default.ThreadCount, timeBegin); * res = true; * break; * * case UpdatelEnum.UpdateLpuNames: * //MainActivityRer.UpdateLpuNames(); * res = true; * break; * * case UpdatelEnum.CleanBuffers: * //MainActivityRer.CleanBuffers(); * res = true; * break;*/ } } catch (Exception ex) { Logger.Error(ex); res = false; } finally { _threadCount--; Logger.Trace("Service: {0} - {1}. Thread count = {2} --", aCode, res, _threadCount); if (!res) { CheckConnectFed(); } } } }