怎么使用script task 断点调试server调试函数

您所在的位置: &
讲解SQL Server数据库中函数的使用方法
讲解SQL Server数据库中函数的使用方法
SQL Server数据库是一种功能性很好的关系数据库管理系统,本文中主要为大家介绍SQL Server数据库中函数的使用方法。
导读:本文主要主要讲解了SQL Server数据库中函数的两种用法,具体内容请参考下文:
1. 由于update里不能用存储过程,并且由于根据更新表的某些字段还要进行计算。所以很多人采用的是游标的方法,在这里我们可以用函数的方法实现。
函数部分:
 CREATE&FUNCTION&[DBO].[FUN_GETTIME]&(@TASKPHASEID&INT) &RETURNS&FLOAT&AS&BEGIN&DECLARE&@TASKID&INT, &@HOUR&FLOAT, &@PERCENT&FLOAT, &@RETURN&FLOAT&IF&@TASKPHASEID&IS&NULL&BEGIN&RETURN(0.0) &END&SELECT&@TASKID=TASKID,@PERCENT=ISNULL(WORKPERCENT,0)/100 &FROM&TABLETASKPHASE &WHERE&ID=@TASKPHASEID &SELECT&@HOUR=ISNULL(TASKTIME,0)&FROM&TABLETASK &WHERE&ID=@TASKID &SET&@RETURN=@HOUR*@PERCENT &RETURN&(@RETURN) &END&
 调用函数的存储过程部分:
CREATE&PROCEDURE&[DBO].[PROC_CALCCA] &@ROID&INT&AS&BEGIN&DECLARE&@CA&FLOAT&UPDATE&TABLEFMECA &SET&Cvalue_M=&ISNULL(MODERATE,0)*ISNULL&(FMERATE,0)*ISNULL(B.BASFAILURERATE,0)*[DBO].[FUN_GETTIME](C.ID) &FROM&TABLEFMECA&,TABLERELATION&B,TABLETASKPHASE&C &WHERE&ROID=@ROID&AND&TASKPHASEID=C.ID&AND&B.ID=@ROID &SELECT&@CA=SUM(ISNULL(Cvalue_M,0))&FROM&TABLEFMECA&WHERE&ROID=@ROID &UPDATE&TABLERELATION &SET&CRITICALITY=@CA &WHERE&ID=@ROID &END&GO &
2. 我们要根据某表的某些记录,先计算后求和,因为无法存储中间值,平时我们也用游标的方法进行计算。但SQL Server 2000里支持。
SUM ( [ ALL DISTINCT ] eXPression )
expression
是常量、列或函数,或者是算术、按位与字符串等运算符的任意组合。因此我们可以利用这一功能。
函数部分:
 CREATE&FUNCTION&[DBO].[FUN_RATE]&(@PARTID&INT, &@ENID&INT,@SOURCEID&INT,&@QUALITYID&INT,@COUNT&INT) &RETURNS&FLOAT&AS&BEGIN&DECLARE&@QXS&FLOAT,&@G&FLOAT,&@RATE&FLOAT&IF&(@ENID=NULL)&OR&(@PARTID=NULL)&OR&(@SOURCEID=NULL)&OR&(@QUALITYID=NULL) &BEGIN&RETURN(0.0) &END&SELECT&@QXS=&ISNULL(XS,0)&FROM&TABLEQUALITY&WHERE&ID=@QUALITYID &SELECT&@G=ISNULL(FRATE_G,0)&FROM&TABLEFAILURERATE &WHERE&(SUBKINDID=@PARTID) &AND(&ENID=@ENID) &AND&(&DATASOURCEID=@SOURCEID) &AND(&(&(ISNULL(MINCOUNT,0)&=ISNULL(@COUNT,0)) &AND&(&ISNULL(MAXCOUNT,0)&=ISNULL(@COUNT,0))) &OR(ISNULL(@COUNT,0)&ISNULL(MAXCOUNT,0))) &SET&@RATE=ISNULL(@QXS*@G,0) &RETURN&(@RATE) &END&
 调用函数的存储过程部分:
 CREATE&PROC&PROC_FAULTRATE &@PARTID&INTEGER,&@QUALITYID&INTEGER,@SOURCEID&INTEGER, &@COUNT&INTEGER,&@ROID&INT,&@GRADE&INT,@RATE&FLOAT=0&OUTPUTAS &BEGIN&DECLARE&@TASKID&INT&SET&@RATE=0.0 &SELECT&@TASKID=ISNULL(TASKPROID,-1)&FROM&TABLERELATION &WHERE&ID=(SELECT&PID&FROM&TABLERELATION&WHERE&ID=@ROID) &IF&(@TASKID=-1)&OR(@GRADE=1)&BEGIN&SET&@RATE=0 &RETURN&END&SELECT&@RATE=SUM([DBO].[FUN_RATE] &(@PARTID,ENID,@SOURCEID,&@QUALITYID,@COUNT)&*ISNULL(WORKPERCENT,0)/100.0) &FROM&TABLETASKPHASE &WHERE&TASKID=@TASKID &END&GO &
 本文就为大家总结出了这两种SQL Server数据库函数使用方法,如果大家有更多更好的方法,欢迎拿出来与大家一起分享。
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
也许你不需要了解SQL Server的内部机制,你照样能完成
本专题与大家共同讨论与分享ORACLE SQL的一些常用经典
这条路,有人说是一条不归路,走上来了,就要勇敢的走
本书主要介绍了SQL的数据库应用和开发技术,内容涉及关系数据库和SQL概述,SQL环境,SQL对于数据表的操作,数据库查询知识,SQL
51CTO旗下网站taobao分布试调试管理框架TbSchedule整合部署教程-Jsp/Servlet开发工具-Jsp教程-壹聚教程网taobao分布试调试管理框架TbSchedule整合部署教程
本教程介绍的是淘宝()开源技术分布试调试管理框架TbSchedule整合部署的入门知识,任务调度管理作为基础架构通常会出现于我们的业务系统中,目的是让各种任务能够按计划有序执行。
任务调度管理作为基础架构通常会出现于我们的业务系统中,目的是让各种任务能够按计划有序执行。比如定时给用户发送邮件、将数据表中的数据同步到另一个数据表都是一个任务,这些相对耗时的操作通过任务调度系统来异步并行执行,既能提高任务的执行效率又能保障任务执行的可靠性。
实现的方式也是多种多样,比如使用Timer进行简单调度或者使用Quartz类似的框架,本文基于淘宝开源框架TbSchedule实现,其设计目的是让批量任务或者不断变化的任务能够被动态的分配到多个主机的JVM中,在不同的线程组中并行执行,所有的任务能够被不重复,不遗漏的快速处理,目前被应用于阿里巴巴众多业务系统。
请参照http://code.taobao.org/p/tbschedule/wiki/index/,相关内容不再重复介绍,本文记录了详细的部署整合操作步骤。
二、Zookeeper部署
1、TbSchedule依赖于Hadoop Zookeeper组件,实现任务的分布式配置及各服务间的交互通信,Zookeeper以TreeNode类型进行存储,支持Cluster形式部署且保证最终数据一致性,关于ZK的资料网上比较丰富,相关概念不再重复介绍,本文以zookeeper-3.4.6为例,请从官网下载http://zookeeper.apache.org。
2、创建ZookeeperLab文件夹目录,模拟部署3台Zookeeper服务器集群,目录结构如下。
3、解压从官网下载的zookeeper-3.4.6.tar文件,并分别复制到三台ZkServer的zookeeper-3.4.6文件夹。
4、分别在三台ZkServer的data目录下创建myid文件(注意没有后缀),用于标识每台Server的ID,在Server1datamyid文件中保存单个数字1,Server2的myid文件保存2,Server3的myid保存3。
5、创建ZkServer的配置文件,在zookeeper-3.4.6conf文件夹目录下创建zoo.cfg,可以从示例的zoo_sample.cfg 复制重命名。因为在同一台机器模拟Cluster部署,端口号不能重复,配置文件中已经有详细的解释,修改后的配置如下,其中Server1端口号2181,Server2端口号2182,Server3端口号2183。
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a
and getting an acknowledgement
syncLimit=5
# the directory where the snahot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=E:/ZookeeperLab/server1/data
dataLogDir=E:/ZookeeperLab/server1/logs
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to &0& to disable auto purge feature
#autopurge.purgeInterval=1
server.1=127.0.0.1:
server.2=127.0.0.1:
server.3=127.0.0.1:
6、通过zookeeper-3.4.6bin文件夹zkServer.bat文件启动ZKServer,由于Cluster部署需要选举Leader和Followers,所以在3个ZKServer全部启动之前会提示一个WARN,属正常现象。
7、Zookeeper启动成功后可以通过zookeeper-3.4.6bin文件夹的 zkCli.bat验证连接是否正常,比如创建节点&create /testnode helloworld&,查看节点&get /testnode&,连接到组群中其它ZkServer,节点数据应该是一致的。更多指令请使用help命令查看。
8、对于Linux环境下部署基本一致,zoo.cfg配置文件中data和datalog文件夹路径改为linux格式路径,使用&./zkServer.sh start-foreground&命令启动ZkServer,注意start启动参数不能输出异常信息。
9、至此Zookeeper的配置完毕。
三、SVN从TaoCode获取并Import TbSchedule源码(请先配置Maven环境)
四、TbSchedule控制台的部署
1、TbSchedule Console是基于web页面对调度任务配置、部署、监控的终端。
2、将源码目录下的consoleScheduleConsole.war包及depend-lib库部署到Web应用服务器,本文以Tomcat 7.0.54为例,相关步骤不再描述。
3、首次打开页面会跳转到&基础信息配置&Config.jsp页面,其中前2项为Zookeeper服务的连接配置,请正确填写前面部署的Zookeeper服务器地址和端口号,多个ZKServer可以使用逗号分隔。后3项是用于标识ZkServer中调度任务配置的根节点和节点权限,无严格要求。
&4、点击保存后,会提示 &错误信息:Zookeeper connecting ......localhost:2181&,如果ZKServer配置正确可以不用理会,直接点击&管理主页&,若不能正常跳转到Index.jsp页面请重新检查Zookeeper的配置,建议关闭防火墙。
&5、TbSchedule Console Web站点对应的两个地址
&&&& [监控页面]&&&&&& http://localhost:8081/ScheduleConsole/schedule/index.jsp
&&&& [管理页面]&&&&&& http://localhost:8081/ScheduleConsole/schedule/index.jsp?manager=true
&&&& 如果以上地址能正常访问则TbSchedule Console的部署配置完成。
五、Task场景设计
1、假设场景:任务需要将订单表tbOrder中制单日期在141208?龋&?天)的数据同步到备份tbOrder_copy 表,其中每2天分为一个任务组并行同步(每次提取500条),关于任务组的划分和TbSchedule中TaskItem的相关概念请先参考wiki,后续也会有部分解释。
2、数据环境使用MySql,创建tbOrder和tbOrder_Copy数据表,结构相同,同时在tbOrder事先生成好测试数据,建议每天的数据量在1000条以上。
六、数据同步任务实现
1、创建TaskCenter Demo Project,添加对tbschedule project的依赖,并集成Spring Framework。
2、创建OrderInfo实体类,属性对应tbOrder表,用于映射从数据表取的数据。
3、创建DataSyncABean任务类,实现IScheduleTaskDealSingle&T&泛型接口的Tasks和execute方法,其中selectTasks方法用于取数,execute方法用于执行selectTasks返回的Result,关于代码中任务片段的划分和TbSchedule中TaskItem的相关概念后续再解释,代码参考如下。
import java.sql.ResultS
import java.util.ArrayL
import java.util.L
import com.taobao.pamirs.schedule.IScheduleTaskDealS
import com.taobao.pamirs.schedule.TaskItemD
import DBHelper.*;
public class DataSyncABean implements IScheduleTaskDealSingle&OrderInfo& {
&&& public List&OrderInfo& selectTasks(String taskParameter, String ownSign,
&&&&&&&&&&& int taskItemNum, List&TaskItemDefine& queryCondition,
&&&&&&&&&&& int eachFetchDataNum) throws Exception {
&&&&&&& List&OrderInfo& result = new ArrayList&OrderInfo&();
&&&&&&& if (queryCondition.size() == 0) {
&&&&&&&&&&&
&&&&&&& StringBuffer condition = new StringBuffer();
&&&&&&& for (int i = 0; i & queryCondition.size(); i++) {
&&&&&&&&&&& if (i & 0) {
&&&&&&&&&&&&&&& condition.append(&,&);
&&&&&&&&&&& }
&&&&&&&&&&& condition.append(queryCondition.get(i).getTaskItemId());
&&&&&&& /* 场景A:将tbOrder表中的数据分8个任务项,每次取200条数据, 同步到tbOrder_copy表中。 */
&&&&&&& String sql = &select * from tbOrder & + &where &
&&&&&&&&&&&&&&& + & BillNumber not in (select BillNumber from tbOrder_copy) &
&&&&&&&&&&&&&&& + & and RIGHT(BuildDate,1) in (& + condition + &) & + &limit &
&&&&&&&&&&&&&&& + eachFetchDataN
&&&&&&& System.out.println(&开始执行SQL:& + sql);
&&&&&&& ResultSet rs = MySQLHelper.executeQuery(sql);
&&&&&&& while (rs.next()) {
&&&&&&&&&&& OrderInfo order = new OrderInfo();
&&&&&&&&&&& order.BillNumber = rs.getString(&BillNumber&);
&&&&&&&&&&& order.BuildDate = rs.getString(&BuildDate&);
&&&&&&&&&&& order.Customer = rs.getString(&Customer&);
&&&&&&&&&&& order.GoodsName = rs.getString(&GoodsName&);
&&&&&&&&&&& order.Amount = rs.getFloat(&Amount&);
&&&&&&&&&&& order.SaleMoney = rs.getFloat(&SaleMoney&);
&&&&&&&&&&& result.add(order);
&&&&&&&&&&& if (rs.isLast()) {
&&&&&&&&&&&&&&&
&&&&&&&&&&& }
&&&&&&& MySQLHelper.free(rs, rs.getStatement(), rs.getStatement()
&&&&&&&&&&&&&&& .getConnection());
&&& public Comparator&OrderInfo& getComparator() {
&&& public boolean execute(OrderInfo task, String ownSign) throws Exception {
&&&&&&& String sql = &insert into tbOrder_copy values('& + task.BillNumber
&&&&&&&&&&&&&&& + &','& + task.BuildDate + &','& + task.Customer + &','&
&&&&&&&&&&&&&&& + task.GoodsName + &',& + task.Amount + &,& + task.SaleMoney
&&&&&&&&&&&&&&& + &)&;
&&&&&&& MySQLHelper.executeNonQuery(sql);
&&&&&&& System.out.println(&execute:& + sql);
4、在Spring容器中注册数据同步任务Bean。
&?xml version=&1.0& encoding=&UTF-8&?&
&beans xmlns=&http://www.springframework.org/schema/beans&
&&& xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance& xmlns:p=&http://www.springframework.org/schema/p&
&&& xsi:schemaLocation=&http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd&&
&&& &bean id=&dataSyncABean& class=&Task.DataSyncABean& /&
5、Main函数初始化Spring容器和TbSchedule 任务管理Factory,连接ZKServer,代码如下,也可以参照TbSchedule源码中通过Spring进行初始化TBScheduleManagerFactory 。
import java.util.P
import org.springframework.context.ApplicationC
import org.springframework.context.support.FileSystemXmlApplicationC
import com.taobao.pamirs.schedule.strategy.TBScheduleManagerF
public class TaskCenter {
&&& public static void main(String[] args) throws Exception {
&&&&&&& // 初始化Spring
&&&&&&& ApplicationContext ctx = new FileSystemXmlApplicationContext(
&&&&&&&&&&&&&&& &srcpplicationContext.xml&);
&&&&&&& // 初始化调度工厂
&&&&&&& TBScheduleManagerFactory scheduleManagerFactory = new TBScheduleManagerFactory();
&&&&&&& Properties p = new Properties();
&&&&&&& p.put(&zkConnectString&, &localhost:2181&);
&&&&&&& p.put(&rootPath&, &/tbSchedule/Test&);
&&&&&&& p.put(&zkSessionTimeout&, &60000&);
&&&&&&& p.put(&userName&, &zookeeper&);
&&&&&&& p.put(&password&, &zookeeper&);
&&&&&&& p.put(&isCheckParentPath&, &true&);
&&&&&&& scheduleManagerFactory.setApplicationContext(ctx);
&&&&&&& scheduleManagerFactory.init(p);&
6、如果配置正确应该可以成功启动该TaskDeal服务。
七、在TbSchedule Console创建调度任务(请事先仔细阅读wiki中的概念解释)
1、创建调度策略,其中&最大线程组数量&设置为4,表示在机器上的通过4个线程组并行执行数据同步任务。
2、创建调度任务
&任务名称:对应调度策略中的任务名称,标识任务和策略的关联关系;
&任务处理的SpringBean:对应Demo TaskDeal服务Spring容器中的任务对象ID;
2、创建调度任务
&&&& 任务名称:对应调度策略中的任务名称,标识任务和策略的关联关系;
&&&& 任务处理的SpringBean:对应Demo TaskDeal服务Spring容器中的任务对象ID;
&bean id=&dataSyncABean& class=&Task.DataSyncABean& /&
每次获取数据量:对应于bean任务类selectTasks方法参数 eachFetchDataNum;
执行开始时间:&0 * * * * ?& 表示每分钟的0秒开始,表达式同Quartz设置的Crontab格式,有工具可以生成,详细解释参照/blog/116130;
2.字段 允许值 允许的特殊字符&
3.秒 0-59 , - * /&
4.分 0-59 , - * /&
5.小时 0-23 , - * /&
6.日期 1-31 , - * ? / L W C&
7.月份 1-12 或者 JAN-DEC , - * /&
8.星期 1-7 或者 SUN-SAT , - * ? / L C #&
9.年(可选) 留空,
10.表达式意义&
11.&0 0 12 * * ?& 每天中午12点触发&
12.&0 15 10 ? * *& 每天上午10:15触发&
13.&0 15 10 * * ?& 每天上午10:15触发&
14.&0 15 10 * * ? *& 每天上午10:15触发&
15.&0 15 10 * * ? 年的每天上午10:15触发&
16.&0 * 14 * * ?& 在每天下午2点到下午2:59期间的每1分钟触发&
17.&0 0/5 14 * * ?& 在每天下午2点到下午2:55期间的每5分钟触发&
18.&0 0/5 14,18 * * ?& 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发&
19.&0 0-5 14 * * ?& 在每天下午2点到下午2:05期间的每1分钟触发&
20.&0 10,44 14 ? 3 WED& 每年三月的星期三的下午2:10和2:44触发&
21.&0 15 10 ? * MON-FRI& 周一至周五的上午10:15触发&
22.&0 15 10 15 * ?& 每月15日上午10:15触发&
23.&0 15 10 L * ?& 每月最后一日的上午10:15触发&
24.&0 15 10 ? * 6L& 每月的最后一个星期五上午10:15触发&
25.&0 15 10 ? * 6L & 2002年至2005年的每月的最后一个星期五上午10:15触发&
26.&0 15 10 ? * 6#3& 每月的第三个星期五上午10:15触发&
27.每天早上6点&
28.0 6 * * *&
29.每两个小时&
30.0 */2 * * *&
31.晚上11点到早上8点之间每两个小时,早上八点&
32.0 23-7/2,8 * * *&
33.每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点&
34.0 11 4 * 1-3&
35.1月1日早上4点&
36.0 4 1 1 *
任务项:前面假设的任务场景中需要把1-8号数据按2天为1个任务组并行数据同步,所以可以把任务划分为1,2,3,4,5,6,7,8一共8个任务碎片,8个任务碎片被分配到4个线程组,那么每个线程组对应2个任务碎片,运行时任务项参数又被传递到bean任务类selectTasks方法的List&TaskItemDefine& queryCondition参数,例如第1个线程组调用selectTasks方法是queryCondition参数条件为1,2 ,第2个线程组执行参数条件为3,4,bean任务类中根据参数生成对应的BuildDate条件取数,并将结果提交到execute方法执行,从而实现并行计算。
任务项的划分:可以有非常多的分配策略和技巧,例如将一个数据表中所有数据的ID按10取模,就将数据划分成了0、1、2、3、4、5、6、7、8、9供10个任务项;将一个目录下的所有文件按文件名称的首字母(不区分大小写),就划分成了A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y、Z供26个任务项 。
3、新增任务配置保存后,Task会按指定的时间段自动开始执行,可以从TbScheduleConsole监视到对应的线程组和任务项。
4、同时可以从任务TaskDeal服务控制台监视到Debug输出的取数SQL和 Insert语句,以及TbSchedule的Heartbeat、TaskItem Debug信息。
17:01:00.000 [DataSyncATask-4-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManager - 恢复调度:DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$
17:01:00.000 [DataSyncATask-2-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManager - 恢复调度:DataSyncATask$192.168.56.1$FCCFD9CE84DB$
17:01:00.000 [DataSyncATask-3-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManager - 恢复调度:DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$
17:01:00.002 [DataSyncATask-0-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManager - 恢复调度:DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$
开始执行SQL:select * from tbOrder where& BillNumber not in (select BillNumber from tbOrder_copy)& and RIGHT(BuildDate,1) in (7,8) limit 500
开始执行SQL:select * from tbOrder where& BillNumber not in (select BillNumber from tbOrder_copy)& and RIGHT(BuildDate,1) in (5,6) limit 500
开始执行SQL:select * from tbOrder where& BillNumber not in (select BillNumber from tbOrder_copy)& and RIGHT(BuildDate,1) in (3,4) limit 500
开始执行SQL:select * from tbOrder where& BillNumber not in (select BillNumber from tbOrder_copy)& and RIGHT(BuildDate,1) in (1,2) limit 500
17:01:00.289 [DataSyncATask-4-exe3] DEBUG c.t.p.s.t.TBScheduleManager - 暂停调度 :DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$:FetchDataCount=147,FetchDataNum=9600,DealDataSucess=9600,DealDataFail=0,DealSpendTime=687968,otherCompareCount=0
17:01:00.291 [DataSyncATask-0-exe1] DEBUG c.t.p.s.t.TBScheduleManager - 暂停调度 :DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$:FetchDataCount=130,FetchDataNum=180,DealDataSucess=180,DealDataFail=0,DealSpendTime=23783,otherCompareCount=0
17:01:00.295 [DataSyncATask-3-exe0] DEBUG c.t.p.s.t.TBScheduleManager - 暂停调度 :DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$:FetchDataCount=161,FetchDataNum=18000,DealDataSucess=18000,DealDataFail=0,DealSpendTime=1207563,otherCompareCount=0
17:01:00.297 [DataSyncATask-2-exe0] DEBUG c.t.p.s.t.TBScheduleManager - 暂停调度 :DataSyncATask$192.168.56.1$FCCFD9CE84DB$:FetchDataCount=131,FetchDataNum=700,DealDataSucess=700,DealDataFail=0,DealSpendTime=80063,otherCompareCount=0
17:01:02.674 [DataSyncATask-2-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManagerStatic - DataSyncATask$192.168.56.1$FCCFD9CE84DB$:不是负责任务分配的Leader,直接返回
17:01:02.865 [DataSyncATask-3-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManagerStatic - DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$:不是负责任务分配的Leader,直接返回
17:01:02.866 [DataSyncATask-4-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManagerStatic - DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$:不是负责任务分配的Leader,直接返回
17:01:04.433 [DataSyncATask-0-HeartBeat] DEBUG c.t.p.s.zk.ScheduleDataManager4ZK - DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$:开始重新分配任务......
17:01:04.437 [DataSyncATask-0-HeartBeat] DEBUG c.t.p.s.zk.ScheduleDataManager4ZK -
TASK_TYPE=DataSyncATask:TASK_ITEM=1:CUR_SERVER=DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=2:CUR_SERVER=DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=3:CUR_SERVER=DataSyncATask$192.168.56.1$FCCFD9CE84DB$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=4:CUR_SERVER=DataSyncATask$192.168.56.1$FCCFD9CE84DB$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=5:CUR_SERVER=DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=6:CUR_SERVER=DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=7:CUR_SERVER=DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=8:CUR_SERVER=DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$:REQ_SERVER=null:DEAL_PARAMETER=
17:01:07.658 [DataSyncATask-2-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManagerStatic - DataSyncATask$192.168.56.1$FCCFD9CE84DB$:不是负责任务分配的Leader,直接返回
17:01:07.882 [DataSyncATask-3-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManagerStatic - DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$:不是负责任务分配的Leader,直接返回
17:01:07.882 [DataSyncATask-4-HeartBeat] DEBUG c.t.p.s.t.TBScheduleManagerStatic - DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$:不是负责任务分配的Leader,直接返回
17:01:09.441 [DataSyncATask-0-HeartBeat] DEBUG c.t.p.s.zk.ScheduleDataManager4ZK - DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$:开始重新分配任务......
17:01:09.446 [DataSyncATask-0-HeartBeat] DEBUG c.t.p.s.zk.ScheduleDataManager4ZK -
TASK_TYPE=DataSyncATask:TASK_ITEM=1:CUR_SERVER=DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=2:CUR_SERVER=DataSyncATask$192.168.56.1$D3CEDB8C9220FFCD9B584$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=3:CUR_SERVER=DataSyncATask$192.168.56.1$FCCFD9CE84DB$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=4:CUR_SERVER=DataSyncATask$192.168.56.1$FCCFD9CE84DB$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=5:CUR_SERVER=DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=6:CUR_SERVER=DataSyncATask$192.168.56.1$D4D821EBFCFA47C78F45A7$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=7:CUR_SERVER=DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$:REQ_SERVER=null:DEAL_PARAMETER=
TASK_TYPE=DataSyncATask:TASK_ITEM=8:CUR_SERVER=DataSyncATask$192.168.56.1$44AAB33F650B6FF7E532$:REQ_SERVER=null:DEAL_PARAMETER=
5、至此同步任务配置完成,并且实现了模拟场景的要求。
八、以上也只是对TbSchedule的初步认识,更多仍然在探索中。
上一页: &&&&&下一页:相关内容
暂无与此文章相关内容最新内容

我要回帖

更多关于 gulp task server 的文章

 

随机推荐