我需要实现一个用PL / SQL编写的心跳功能,每5分钟ping一次Web服务。我知道PL / SQL真的不是写这个的正确语言,但它必须以这种方式完成。
DECLARE
stored_time TIMESTAMP
curr_time TIMESTAMP
BEGIN
stored_time := current_timestamp;
WHILE (curr_time - stored_time > 5)
pulse_heartbeat();
stored_time := current_timestamp;
END WHILE
上面的伪代码实际上是我认为可以完成的唯一方法。我知道有一个带有oracle的计时器包,但我不确定我是否应该使用它。有什么想法吗?
答案 0 :(得分:3)
您似乎希望每5分钟安排一次程序执行。我建议使用 DBMS_SCHEDULER 。
数据库级
{{1}}
上面每5分钟使用日历语法到重复间隔。它在数据库级别创建了一个作业。
操作系统级别
您还可以安排脚本在操作系统级别运行。例如,在基于UNIX的平台中,您可以创建 shell脚本并安排为 cron job 。