Verwaiste Anträge aus Queue löschen/ins Log übertragen

    Inhaltsverzeichnis
    keine Gliederung

    Version seit 21:52, 5 Mai 2024

    zu dieser Version.

    Zurück zu Versionshistorie.

    Zeige aktuelle Version

    Falls OMExecute.exe-Prozesse unerwartet abbrechen (z. B. durch System-Neustart bei noch laufenden Anträgen), bleiben die abgebrochenen Anträge in der Queue stehen.

    Um Anträge, zu denen es keine laufende OMExecute.exe mehr gibt, aus der Queue zu entfernen, kann folgendes SQL-Script benutzt werden (VOR AUSFÜHRUNG DISPATCHER-DIENST STOPPEN UND AUF GGF. LAUFENDE OMEXECUTE-PROZESSE PRÜFEN):

     

    Declare @TableRequests Table (RequestId int, MyRowCount Int Identity(1,1))
    Declare @i Int, @MaxI Int, @RequestId int
    Insert into @TableRequests
      Select id
      From tblQueueRequest
      Where (Status='processing')
      --Where (id = 1074456)

    Select @MaxI =@@RowCount, @i = 1

    While @i <= @MaxI
    Begin
      Select @RequestId = RequestId from @TableRequests where MyRowCount = @i
      exec sp_DelQueueRequest @RequestId
      Select
      @i = @i + 1, @RequestId =null
    End

    Unterstützt von MindTouch Core