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

本文探讨了在面对大量定时任务时,如何设计一个灵活且易于管理的任务调度系统。提出了一个基于内存缓存和数据库备份的自定义方案,并提供了一个简单的守护进程示例。
         需求描述:当大量邮件、短信或是别的任务设置了执行的时间时,如何去设计这个功能呢?

          用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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值