Frage

Hey Jungs, Ich frage mich, wie Sie einen Job Scheduler in Oracle APEX erstellen?

Ich bin ein System zu machen, die Anrufe verwaltet, hat jeder Anruf eine Prioritätsstufe. Nach einer Stunde soll der Schweregrad eskaliert werden. Ich habe stundenlang gesucht, und ich denke, dass ich ein Verfahren vornehmen muß, die einen Job Scheduler definiert und dann läuft das Update?

Wenn euch einige Vorschläge meinen Weg werfen konnte ich es schätzen würde!

Prost Rich

War es hilfreich?

Lösung

In meinen Augen ist die einfachste mögliche Lösung, die möglicherweise könnte Arbeit so etwas wie

sein würde
CREATE PROCEDURE escalate_cases
AS
BEGIN
  UPDATE tickets
     SET status = 'ESCALATED'
   WHERE status = 'NOT ESCALATED'
     AND open_date < sysdate - interval '1' hour;
END escalate_cases;

DECLARE
  l_jobno PLS_INTEGER;
BEGIN
  dbms_job.submit( 
    l_jobno,
    'BEGIN escalate_cases(); END;',
    sysdate + interval '1' minute,
    'sysdate + interval ''1'' minute'
  );
  dbms_output.put_line( 'Job ' || l_jobno || ' submitted.' );
  commit;
END;

Das Verfahren eskaliert alle Tickets, die Ihren Kriterien entsprechen und die anonymen Block erzeugt einen Job, der den Vorgang jede Minute läuft. Ein einzelner Job, der jede Minute (für lange oder alle paar Minuten je nach Toleranz können Sie ein Ticket eskaliert warten) läuft wird leichter sein, jedes Ticket zu verwalten als eigenständigen Auftrag für die genau 1 Stunde läuft, nachdem es eingereicht wurde .

Wenn Sie nun etwas anspruchsvollere erhalten möchten, die DBMS_SCHEDULER Paket bietet einiges an Funktionalität, dass die DBMS_JOB Paket nicht. Es bietet einige automatische Protokollierung, es die Fähigkeit zur Kette Arbeitsplätze bietet, um verschiedene Fenster zu definieren, in denen Arbeitsplätze zu tun und nicht laufen (dh wenn ein Ticket um 5:30 erstellt wird, können Sie es nicht um 6.30 Uhr eskalieren wollen, weil es nach Stunden ist) usw. Und DBMS_SCHEDULER ist die Richtung Oracle bewegt. Aber ich selbst noch finden DBMS_JOB mit relativ einfachen Aufgaben wie diese.

Andere Tipps

Überprüfen Sie das Material aus hier

Ich habe die Methode aufgeführt von Justin mit gutem Erfolg eingesetzt. Eine andere Methode, die gut funktioniert, ist eine Warteschlange mit verzögerter Lieferung zu verwenden. Das gibt Ihnen die Möglichkeit, eine externe Paging-Programm oder etwas Wartezeit in der Warteschlange für Eskalationen haben. Ich bin nicht so vertraut mit APEX so ist mir nicht sicher, ob das eine gute Idee, in diesem Zusammenhang.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top