2023年11月30日发(作者:)

定时任务:数据表设计与实现⽅案

⽅案⼀:

SQL存储过程、采⽤JOB的⽅式在数据库将提醒的结果集处理好

PS:

需要设计⼀个任务提醒的配置表,主要字段可以类似

提醒任务ID 提醒任务执⾏⼈ID 任务执⾏⼈类别 提醒周期 提醒开始⽇期 是否使⽤ 提醒次数 任务复⽤流程 备⽤字段1 备⽤字段2 备

⽤字段3 备注

这个⾥的提醒周期表⽰的是每天 每周 每⽉等,或者说类似每天隔两⼩时提醒,像隔多少⼩时或分钟提醒的需要程序去做监控

参考⽽已,还是需要根据楼主的实际情况看。

PS:

我可以写⼀个存储过程,⽤SQL Agent定时查询哪些任务需要提醒,每分钟执⾏⼀次,然后再SQL Server中可否调⽤某某⽹址(通知⽹站

程序要有新的提醒了)。

如果楼主对JOB⽐较熟悉的话,也可以采⽤JOB的⽅式在数据库将提醒的结果集处理好,然后在前台显⽰,并采⽤邮件、短信等⽅式提醒任

务执⾏⼈!

SQL Server 调⽤.NET写的DLL作为扩展存储过程,这个过程调⽤指定⽹址,这个⽹址只是⼀个⼊⼝,⼀旦被调⽤则主动查询数据库待提醒

的任务,然后发送相关提⽰短信,可以吗?

⽤SQL处理发送短信的没有搞过,发送邮件是可以的,短信确实不清楚,如果调⽤DLL的话应该是可⾏的。

问题解决了,使⽤SQL Agent定时调⽤⽹站⽹页进⾏通知,程序⾃动发送短信

参考⽹址:

SQL code

1

解决过程:

SQL code

1

2

14

15

16⽰例:exec extproc_test

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

/*

调⽤扩展存储过程

*/

对于每⼀个定时任务, ⽤四元组把它存起来, 即{发送者账号, 接受者账号, 定时时间, 赠⾔}, 对于n个赠⾔操作, 就有了n个四

每次提醒的时候取下⼀次提醒的时间与当前时间的差值作为Timer的参数,这样可以减少⼀些timer的执⾏次数