关于“定时”功能的思想实现

时间:2022-08-31 21:00:27
         需求描述:当大量邮件、短信或是别的任务设置了执行的时间时,如何去设计这个功能呢?

          用crontab好像不太现实,为什么?

         1、cron以一定的时间间隔运行作业需要使用 cron 进行管理,它由crond守护进程和一组表(描述执行哪些操作和采用什么样的频率)组成。这个守护进程每分钟唤醒一次,并通过检查 crontab 判断需要做什么。用户使用crontab命令管理 crontab。crond守护进程常常是在系统启动时由 init 进程启动的。

    2、当定时任务很多,而且有时候定的时间需要改时,用crontab操作更改会比较麻烦,也比较蛋疼

    

    我的方案:把任务存进数据库里备一份,Memcache里一份,然后跑一个守护进程

    守护进程如下:

     

#include<iostream>
#include<windows.h>

using namespace std;

int main()
{
int i = 0;
while(1)
{
//这里执行查表,KEY-value:时间戳-任务
cout << i << endl;
i++;
Sleep(1000);
}
return 0;
}