我正在尝试使用servlet在服务器中创建一个“种类”调度程序,这些调度程序将期望来自用户的输入(日/月/年),并将在日历到达当天时执行该事件。
我通过Java为我的servlet使用ScheduledExecutorService来实现这一点。
{cnt.scheduleAtFixedRate(new TimerTask() {
public void run() {
if(c.get(Calendar.DAY_OF_WEEK)==day && c.get(Calendar.HOUR_OF_DAY)== hour)
{
try {
//implemented code in here
}
但是,我认为这可能会加载我的servlet(因为它是一个将运行x天直到它到达最后一天的线程)。你能提出一种更有效的不同方法或不同的方法吗?
谢谢!
这个怎么样:
1. dump all the incoming tasks to a DB.
2. fetch the tasks from DB periodically:
E.G., fetch the tasks from DB every day for daily tasks.
3. put those tasks into your scheduler. You will have threads running up to the interval you setup.
E.G., if you fetch them daily, then it will be maximum 24 hours.