彩票娱乐平台|彩票强强
當前位置:文檔之家 > CRM使用Quartz集群分享

CRM使用Quartz集群分享

CRM使用Quartz集群分享

原文:http://www.fpxch.com.cn/doc/1ad838d84431b90d6d85c789.html /blog/1726143

在公司分享了Quartz,發布出來,希望大家討論補充.

CRM使用Quartz集群分享

一:CRM對定時任務的依賴與問題

二:什么是quartz,如何使用,集群,優化

三:CRM中quartz與Spring結合使用

1:CRM對定時任務的依賴與問題

1)依賴

(1)每天晚上的定時任務,通過sql腳本 + crontab方式執行

1. #crm

2. 0 2 * * * /opt/***/javafiles/***/shell/***_daily_stat.sql

3. 30 7 * * * /opt/***/javafiles/***/shell/***_data_fix

4. 30 0 * * * /opt/***/javafiles/***/shell/***_sync_log

5. 0 1 * * * /opt/***/javafiles/***/shell/***_clear_log

6. 20 8 * * * /opt/***/javafiles/***/shell/***_daily >> /var/***/logs/***_daily.log 2>&1

7. 40 1 * * * /opt/***/javafiles/***/shell/***_sync_account2

8. 0 2 * * 1 /opt/***/javafiles/***/shell/***_weekly >> /var/***/logs/***_weekly.log 2>&1

存在的問題:當需要跨庫或許數據的,sql無能為力,引入許多中間表,完成復雜統計需求。大范圍對線上熱表掃描,造成鎖表,延遲嚴重 (2)使用python(多數據源) + SQL的方式

1. def connectCRM():

2. return MySQLdb.Connection("localhost", "***", "***", "***", 3306, charset="utf8")

3.

4. def connectTemp():

5. return MySQLdb.Connection("localhost", "***", "***", "***", 3306, charset="utf8")

6.

7. def connectOA():

8. return MySQLdb.Connection("localhost", "***", "***", "***", 3306, charset="utf8")

9.

10. def connectCore():

11. return MySQLdb.Connection("localhost", "***", "***", "***", 3306, charset="utf8")

12.

13. def connectCT():

14. return MySQLdb.Connection("localhost", "***", "***", "***", 3306, charset="utf8")

存在的問題:直接訪問數據,需要理解各系統的數據結構,無法滿足動態任務問題,各系統業務接口沒有重用

(3)使用spring + JDK timer方式調用接口完成定時任務

1.

2.

3.

4.

5.

使用寫死服務器Host(srv23)的方式,控制只在一臺服務器上執行task

1. public abstract class SingletonServerTaskScanner implements TaskScanner {

2
. private final Logger logger = LoggerFactory.getLogger(SingletonServerTaskScanner.class);

2. private final Logger logger = LoggerFactory.getLogger(SingletonServerTaskScanner.class);

3. @Override

4. public void execute() {

5. String hostname = "";

6. try {

7. hostname = InetAddress.getLocalHost().getHostName();

8. } catch (UnknownHostException e) {

9. logger.error(e.getMessage(), e);

10. }

下載Word文檔免費下載:

CRM使用Quartz集群分享下載

(共27頁)
彩票娱乐平台