Вопрос

Эй, ребята, мне интересно, как вы создаете планировщик работы в oracle apex?

Я делаю систему, которая управляет звонками, у каждого вызова есть уровень серьезности. Через час уровень тяжести должен быть обостлеен. Я искал часы, и я думаю, что мне нужно сделать процедуру, которая определяет планировщик заданий, а затем запускает обновление?

Если вы, ребята, могут бросить несколько предложений, я бы признателен!

Ура богатых

Это было полезно?

Решение

На мой взгляд, самое простое возможное решение, которое могло бы работать, будет что-то вроде

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;

Процедура повышает все билеты, которые соответствуют вашим критериям, и анонимный блок создает работу, которая запускает процедуру каждую минуту. Одна работа, работающая каждую минуту (или каждые несколько минут в зависимости от вашей допуска, надолго вы можете дождаться, чтобы обострить билет), будет проще управлять, чем отдельная работа для каждого билета, который работает ровно 1 час после того, как он был представлен Отказ

Теперь, если вы хотите получить немного более сложной, пакет DBMS_SCHEDULER предлагает довольно много функциональности, что пакет DBMS_JOB нет. Он обеспечивает некоторую автоматическую регистрацию, он обеспечивает возможность цепи рабочих мест, чтобы определить различные окна, где работают рабочие места и не запускаются (т. Е. Если билет создан в 5:30, вы, возможно, не захотите обострить его в 6:30, потому что это это через часы), и т. Д. И DBMS_SCHeduler - это направление Oracle движется. Но я все еще нахожусь, используя DBMS_JOB для относительно простых задач, таких как это.

Другие советы

Проверьте материал здесь

Я использовал метод, перечисленный Джастином с хорошим успехом. Другой метод, который хорошо работает, это использовать очередь с задержкой доставки. Это дает вам возможность иметь внешнюю пейджинговую программу или что-то еще в ожидании очереди для эскалаций. Я не так знаком с вершиной, поэтому я не уверен, что это хорошая идея в этом контексте.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top