希望获得有关处理异步响应的最佳方法的一些指导,该方法最终会更新Oracle表中的状态标志。
我基本上有一个使用APEX_WEB_SERVICE
API进行REST调用的PL / SQL例程。
我的问题是,异步地,这最终将更新表中的状态标志,这将告诉我该操作是正常还是失败。
轮询此表以检查是否已使用Oracle PL / SQL返回OK或FAIL响应的最佳方法是什么?
我正在查看DBMS_LOCK.sleep(
),但不确定这是否是最佳方法。
不确定DBMS_ALERT是否也可以工作吗?
而不是建议您不定期轮询表,而是建议将Oracle Advanced Queues与Oracle Scheduler一起使用。 AQ正是为这种事情而设计的。您可以创建一个“计划的”作业,该作业由发送到队列的消息(由异步进程在更新表的同时发送)触发。 Scheduler会看到该消息并运行适当的作业或作业链以完成处理。