MS
This commit is contained in:
@@ -9,7 +9,7 @@ Public Class DDWDResultHandler
|
||||
Private _database As DD_WMResulthandler.clsDatabase
|
||||
Private _profil As clsProfil
|
||||
|
||||
Public Shared threadRunner As BackgroundWorker
|
||||
Public Shared threadResultHandler As BackgroundWorker
|
||||
Public Shared threadPMRefresh As BackgroundWorker
|
||||
|
||||
Private Logger As Logger
|
||||
@@ -33,14 +33,6 @@ Public Class DDWDResultHandler
|
||||
' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge
|
||||
' ausführen, damit der Dienst gestartet werden kann.
|
||||
'EventLog1.WriteEntry("Dienst 'DD windream Result Handler' gestartet")
|
||||
|
||||
Try
|
||||
If Not System.Diagnostics.EventLog.SourceExists("DDWMResultHandler") Then
|
||||
System.Diagnostics.EventLog.CreateEventSource("DDWMResultHandler", "DigitalData Log")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
EventLog.WriteEntry("DDWMResultHandler", "ERROR in Creating source:" & ex.ToString(), EventLogEntryType.Error)
|
||||
End Try
|
||||
Try
|
||||
Try
|
||||
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"))
|
||||
@@ -52,59 +44,62 @@ Public Class DDWDResultHandler
|
||||
End Try
|
||||
|
||||
|
||||
If My.Settings.SQLSERVER_CS = String.Empty Then
|
||||
Logger.Warn("Achtung: Es wurde noch kein Datenbank-ConnectionString hinterlegt.")
|
||||
'If _database.Init(My.Settings.SQLSERVER_CS_RH, True) = False Then
|
||||
' Logger.Warn("Achtung: Es konnte keine Verbindung zur Datenbank '" & My.Settings.SQLSERVER_CS_RH & "' hergestellt werden!")
|
||||
' Else
|
||||
|
||||
If clsCURRENT.LOG_ERRORS_ONLY = False Then
|
||||
MyLogger.Debug = True
|
||||
Else
|
||||
If _database.Init(My.Settings.SQLSERVER_CS, True) = False Then
|
||||
Logger.Warn("Achtung: Es konnte keine Verbindung zur Datenbank '" & My.Settings.SQLSERVER_CS & "' hergestellt werden!")
|
||||
Else
|
||||
MyLogger.Debug = False
|
||||
End If
|
||||
oFirstRun = True
|
||||
' '#Thread für Durchlauf generieren
|
||||
DDWDResultHandler.threadResultHandler = New BackgroundWorker()
|
||||
DDWDResultHandler.threadResultHandler.WorkerReportsProgress = True
|
||||
DDWDResultHandler.threadResultHandler.WorkerSupportsCancellation = True
|
||||
AddHandler threadResultHandler.DoWork, AddressOf RUN_RESULTHANDLER
|
||||
AddHandler threadResultHandler.RunWorkerCompleted, AddressOf Thread_Completed
|
||||
|
||||
If clsCURRENT.LOG_ERRORS_ONLY = False Then
|
||||
MyLogger.Debug = True
|
||||
Else
|
||||
MyLogger.Debug = False
|
||||
End If
|
||||
oFirstRun = True
|
||||
' '#Thread für Durchlauf generieren
|
||||
DDWDResultHandler.threadRunner = New BackgroundWorker()
|
||||
DDWDResultHandler.threadRunner.WorkerReportsProgress = True
|
||||
DDWDResultHandler.threadRunner.WorkerSupportsCancellation = True
|
||||
AddHandler threadRunner.DoWork, AddressOf RUN_THREAD
|
||||
AddHandler threadRunner.RunWorkerCompleted, AddressOf Thread_Completed
|
||||
|
||||
' '### Den Timer generieren
|
||||
Dim Timer_Durchlauf As New System.Timers.Timer()
|
||||
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
||||
AddHandler Timer_Durchlauf.Elapsed, AddressOf Thread_Run
|
||||
' Set the Interval
|
||||
Timer_Durchlauf.Interval = 60000
|
||||
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
|
||||
Timer_Durchlauf.Enabled = True
|
||||
Logger.Debug("Timer gestartet")
|
||||
' Und den Durchlauf das erste Mal starten
|
||||
' '### Den Timer generieren
|
||||
Dim Timer_Durchlauf As New System.Timers.Timer()
|
||||
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
||||
AddHandler Timer_Durchlauf.Elapsed, AddressOf Thread_Run
|
||||
' Set the Interval
|
||||
Timer_Durchlauf.Interval = 60000
|
||||
Timer_Durchlauf.Enabled = True
|
||||
Logger.Debug("Timer gestartet")
|
||||
' Und den Durchlauf das erste Mal starten
|
||||
|
||||
|
||||
|
||||
DDWDResultHandler.threadPMRefresh = New BackgroundWorker()
|
||||
DDWDResultHandler.threadPMRefresh.WorkerReportsProgress = True
|
||||
DDWDResultHandler.threadPMRefresh.WorkerSupportsCancellation = True
|
||||
AddHandler threadPMRefresh.DoWork, AddressOf RUNPMRefresh
|
||||
AddHandler threadPMRefresh.RunWorkerCompleted, AddressOf ThreadPMRefresh_Completed
|
||||
DDWDResultHandler.threadPMRefresh = New BackgroundWorker()
|
||||
DDWDResultHandler.threadPMRefresh.WorkerReportsProgress = True
|
||||
DDWDResultHandler.threadPMRefresh.WorkerSupportsCancellation = True
|
||||
AddHandler threadPMRefresh.DoWork, AddressOf RUNPMRefresh
|
||||
AddHandler threadPMRefresh.RunWorkerCompleted, AddressOf ThreadPMRefresh_Completed
|
||||
|
||||
' '### Den Timer generieren
|
||||
Dim TimerPMRefresh As New System.Timers.Timer()
|
||||
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
||||
AddHandler TimerPMRefresh.Elapsed, AddressOf ThreadPMRefreshRun
|
||||
' '### Den Timer generieren
|
||||
Dim TimerPMRefresh As New System.Timers.Timer()
|
||||
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
||||
AddHandler TimerPMRefresh.Elapsed, AddressOf ThreadPMRefreshRun
|
||||
|
||||
|
||||
' Und den Durchlauf das erste Mal starten
|
||||
threadRunner.RunWorkerAsync()
|
||||
' Set the Interval
|
||||
TimerPMRefresh.Interval = 120000 '2 minutes
|
||||
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
|
||||
TimerPMRefresh.Enabled = True
|
||||
' Set the Interval
|
||||
TimerPMRefresh.Interval = 120000 '2 minutes
|
||||
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
|
||||
TimerPMRefresh.Enabled = True
|
||||
'End If
|
||||
If My.Settings.SQLSERVER_CS_RH = "" And My.Settings.SQLSERVER_CS_PMRefresh <> "" Then
|
||||
Logger.Info("Thread PM Refresh will now be started for initial Run as Resulthandler's ConnString is empty...")
|
||||
threadPMRefresh.RunWorkerAsync()
|
||||
Else
|
||||
If My.Settings.SQLSERVER_CS_RH <> "" Then
|
||||
Logger.Info("Thread ResultHandler will now be started for initial Run..")
|
||||
threadResultHandler.RunWorkerAsync()
|
||||
Logger.Info("Thread PM Refresh will be started after 2mins for initial Run..")
|
||||
End If
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStart: " & ex.ToString(), EventLogEntryType.Error)
|
||||
Logger.Error(ex)
|
||||
@@ -112,8 +107,8 @@ Public Class DDWDResultHandler
|
||||
|
||||
End Sub
|
||||
Public Sub Thread_Run()
|
||||
If Not threadRunner.IsBusy Then
|
||||
threadRunner.RunWorkerAsync()
|
||||
If Not threadResultHandler.IsBusy Then
|
||||
threadResultHandler.RunWorkerAsync()
|
||||
End If
|
||||
End Sub
|
||||
Public Sub ThreadPMRefreshRun()
|
||||
@@ -127,20 +122,24 @@ Public Class DDWDResultHandler
|
||||
Protected Overrides Sub OnStop()
|
||||
Try
|
||||
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
|
||||
Logger.Warn("WindreamResultHandler wurde gestoppt!")
|
||||
'LoggerPMR.Warn("WindreamResultHandler has been stopped!")
|
||||
_database.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _PROFIL_ID)
|
||||
Logger.Info("WindreamResultHandler wurde gestoppt!")
|
||||
|
||||
Catch ex As Exception
|
||||
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStop: " & ex.ToString(), EventLogEntryType.Error)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
Public Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
|
||||
Public Sub RUN_RESULTHANDLER(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
|
||||
Try
|
||||
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"))
|
||||
Logger = MyLogger.GetLogger()
|
||||
_database = New clsDatabase(MyLogger)
|
||||
|
||||
If My.Settings.SQLSERVER_CS_RH = "" Then
|
||||
Logger.Debug("RESULT HANDLER ConString not configured... No Run")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim notcompleted As Boolean = False
|
||||
'clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
|
||||
Logger.Debug("RUN_THREAD WMResulthandler started..")
|
||||
@@ -148,9 +147,10 @@ Public Class DDWDResultHandler
|
||||
_windream = New clsWindream_allgemein(MyLogger)
|
||||
'windream initialisieren
|
||||
If _windream.Init() = True Then
|
||||
clsCURRENT.TEMP_FILES.Clear()
|
||||
Logger.Debug("windream vollumfänglich initialisiert!")
|
||||
'Zur sicherheit die DB nochmal initialiseren
|
||||
If _database.Init(My.Settings.SQLSERVER_CS, True) = True Then
|
||||
If _database.Init(My.Settings.SQLSERVER_CS_RH, True) = True Then
|
||||
Dim DT As DataTable = _database.Return_Datatable("select * from TBWMRH_KONFIGURATION where GUID = 1")
|
||||
If DT.Rows.Count = 1 Then
|
||||
clsCURRENT.DT_TBWMRH_KONFIGURATION = DT
|
||||
@@ -188,6 +188,17 @@ Public Class DDWDResultHandler
|
||||
Logger.Info("Keine aktiven Profile WMResulthandler vorhanden")
|
||||
notcompleted = True
|
||||
End If
|
||||
Try
|
||||
For Each _file In clsCURRENT.TEMP_FILES
|
||||
'Dim oFile As New FileInfo(_file)
|
||||
'If (DateTime.UtcNow - oFile.CreationTimeUtc > TimeSpan.FromDays(1)) Then
|
||||
System.IO.File.Delete(_file)
|
||||
'End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
_database.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1")
|
||||
If oFirstRun = True Then
|
||||
oFirstRun = False
|
||||
@@ -275,8 +286,8 @@ Public Class DDWDResultHandler
|
||||
End Sub
|
||||
Public Function Thread_Abbrechen()
|
||||
Try
|
||||
If DDWDResultHandler.threadRunner.IsBusy Then
|
||||
DDWDResultHandler.threadRunner.CancelAsync()
|
||||
If DDWDResultHandler.threadResultHandler.IsBusy Then
|
||||
DDWDResultHandler.threadResultHandler.CancelAsync()
|
||||
End If
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
|
||||
Reference in New Issue
Block a user