Browse Source

更新专家平均星级的定时任务放在每天凌晨2点。

zzy.zhiyuan.foxmail 8 years ago
parent
commit
9bb3caea8f

+ 17 - 5
src/main/java/com/ekexiu/portal/job/TaskJob.java

1
package com.ekexiu.portal.job;
1
package com.ekexiu.portal.job;
2

2

3
import java.text.DateFormat;
4
import java.text.ParseException;
3
import java.text.SimpleDateFormat;
5
import java.text.SimpleDateFormat;
4
import java.util.Date;
6
import java.util.Date;
5
import java.util.concurrent.Executors;
7
import java.util.concurrent.Executors;
18
	
20
	
19
		TaskJobEntry tje = (TaskJobEntry) bf.getBean("com_ekexiu_portal_job_TaskJobEntry");
21
		TaskJobEntry tje = (TaskJobEntry) bf.getBean("com_ekexiu_portal_job_TaskJobEntry");
20
		long delayTime = tje.getDelayTime();
22
		long delayTime = tje.getDelayTime();
21
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
22
		Date date = sdf.parse(tje.getTaskTime());
23
		long task = date.getTime();
23
		long task = getTimeMillis(tje.getTaskTime());
24
		long taskTime = task - System.currentTimeMillis();
24
		long taskTime = task - System.currentTimeMillis();
25
		taskTime = taskTime > 0 ? taskTime : delayTime + taskTime;
25
		taskTime = taskTime > 0 ? taskTime : delayTime + taskTime;
26
		
26
		
27
        ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
27
        ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
28
        // 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间  
28
        // 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间  
29
//        service.scheduleAtFixedRate(tje, tje.getStartTime(), tje.getIntervalTime(), TimeUnit.SECONDS);
29
//        service.scheduleAtFixedRate(tje, 1, 7200, TimeUnit.SECONDS);
30
        service.scheduleAtFixedRate(tje, taskTime, delayTime, TimeUnit.MILLISECONDS);
30
        service.scheduleAtFixedRate(tje, taskTime, delayTime, TimeUnit.MILLISECONDS);
31
	} 
31
	}
32
	private static long getTimeMillis(String time) {  
33
	    try {  
34
	        DateFormat dateFormat = new SimpleDateFormat("yy-MM-dd HH:mm:ss");  
35
	        DateFormat dayFormat = new SimpleDateFormat("yy-MM-dd");  
36
	        Date curDate = dateFormat.parse(dayFormat.format(new Date()) + " " + time);  
37
	        return curDate.getTime();  
38
	    } catch (ParseException e) {  
39
	        e.printStackTrace();  
40
	    }  
41
	    return 0;  
42
	}
43
	
32
}
44
}

+ 7 - 2
src/main/webapp/WEB-INF/web.xml

13
    </init-param>
13
    </init-param>
14
    <init-param>
14
    <init-param>
15
      <param-name>configFileName</param-name>
15
      <param-name>configFileName</param-name>
16
      <param-value>beanConfig.properties,project.properties</param-value>
16
      <param-value>beanConfig.properties,project.properties,log4j.properties</param-value>
17
    </init-param>
17
    </init-param>
18
    <init-param>
18
    <init-param>
19
    	<param-name>afterBeanFactory</param-name>
19
    	<param-name>afterBeanFactory</param-name>
20
    	<param-value>com.ekexiu.portal.job.SchJob</param-value>
20
    	<param-value>com.ekexiu.portal.job.SchJob,com.ekexiu.portal.job.TaskJob</param-value>
21
    </init-param>
21
    </init-param>
22
    <load-on-startup>1</load-on-startup>
22
    <load-on-startup>1</load-on-startup>
23
  </servlet>
23
  </servlet>
34
  <servlet>
34
  <servlet>
35
  	<servlet-name>FileDownload</servlet-name>
35
  	<servlet-name>FileDownload</servlet-name>
36
  	<servlet-class>com.ekexiu.portal.util.FileDownload</servlet-class>
36
  	<servlet-class>com.ekexiu.portal.util.FileDownload</servlet-class>
37
  	<!--设置FileDownloadServlet的初始化参数-->
38
	<init-param>
39
		<param-name>accessoryFolder</param-name>
40
		<param-value>/kexiu/www/html/accessory</param-value>
41
	</init-param>
37
  	<load-on-startup>4</load-on-startup>
42
  	<load-on-startup>4</load-on-startup>
38
  </servlet>
43
  </servlet>
39
  <servlet>
44
  <servlet>