Problemstellung
Ihr möchtet eure Wawi extern überwachen und verwendet dafür entweder ein Dashboard-Tool, wie klipfolio oder ein Monitoring-Tool. Jetzt müsst ihr nur noch an sinnvolle Werte kommen, um die Daten vom Worker zu interpretieren.
Der Weg
Mit der untenstehenden Abfrage bekommt ihr (jeweils in getrennten Spalten) die Sekundendifferenz seit dem letzten Update für ebay, Amazon & Webshop, sowie den zuletzt durchgeführten (zeitversetzten) Workflow zum eingestellten Abrufintervall. Sprich: Der Abgleich zu Amazon soll alle 60 Sekunden passieren, und ist vor 10 Sekunden passiert, ist der Wert resultierende -50 (sprich: in 50 Sekunden kommt der nächste Abgleich).
In demselben Fall würde nach 10 Minuten ohne Abgleicht, bspw. durch einen hängen gebliebenen Workerprozess, der Wert 540 herauskommen (sprich: 540 Sekunden überfällig).
Diese Abfrage eignet sich für ein Monitoring perfekt.
Als Sensor bspw. in PRTG würde dann der Administrator in der APP darüber benachrichtig werden, dass ein bestimmter Warnwert überschritten wurde.
Ab einem höheren einzustellenden Wert würde dann automatisch ein Alarm ausgelöst werden.
Ihr lehnt euch entspannt zurück. Denn solange die App ruhig ist, geht es eurem Abgleich gut.
/*
Jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, wird hiermit kostenlos die Erlaubnis erteilt, ohne Einschränkung mit der Software zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und/oder Verkaufen von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
*/
SELECT DATEDIFF(ss, IIF(thd.nAktiv = 1
AND thd.nKeinEbay = 0, ISNULL(ISNULL(twi.dEbayEnde, twi.dEbayStart), '2010-01-01'), GETDATE()), GETDATE()) - thd.nSek EbayAbgleich,
DATEDIFF(ss, IIF(thd.nAktiv = 1
AND thd.nKeinAmazon = 0, ISNULL(ISNULL(twi.dAmazonEnde, twi.dAmazonStart), '2010-01-01'), GETDATE()), GETDATE()) - thd.nSek AmazonAbgleich,
DATEDIFF(ss, IIF(thd.nAktiv = 1
AND thd.nKeinShop = 0, ISNULL(ISNULL(twi.dShopEnde, twi.dShopStart), '2010-01-01'), GETDATE()), GETDATE()) - thd.nSek ShopAbgleich,
DATEDIFF(ss, IIF(thd.nAktiv = 1, ISNULL(minWQ.minStart, GETDATE()), GETDATE()), GETDATE()) - thd.nSek Workflow
FROM dbo.tWorkerInfo twi
CROSS APPLY dbo.tHintergrundDienst thd
CROSS APPLY
(
SELECT MIN(dStartDate) minStart
FROM dbo.tWorkflowQueue twq
WHERE twq.nStatus = 1
) minWQ;
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.