CN113722068A - 基于Azkaban的批量任务处理方法、装置、设备及存储介质 - Google Patents
基于Azkaban的批量任务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113722068A CN113722068A CN202111012455.1A CN202111012455A CN113722068A CN 113722068 A CN113722068 A CN 113722068A CN 202111012455 A CN202111012455 A CN 202111012455A CN 113722068 A CN113722068 A CN 113722068A
- Authority
- CN
- China
- Prior art keywords
- preset
- tasks
- task
- list
- full
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 18
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种基于Azkaban的批量任务处理方法、装置、设备及存储介质。本发明涉及人工智能技术领域,其包括:调用Azkaban中的预设登录接口以获取账户认证结果;若账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行预设工程名及待执行任务流依次获取全量任务;将待执行任务及全量任务进行循环比对,以得到全量任务中的待失效任务,并将待失效任务添加至预设失效任务列表;将预设失效任务列表中的待失效任务进行批量失效,并调用Azkaban中的预设执行任务接口执行待执行任务。本申请实施例不仅省时省力,而且能提高任务执行的准确率。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于Azkaban的批量任务处理方法、装置、设备及存储介质。
背景技术
随着数据量的丰富,数据之间的交互和依赖就显得格外重要,那么一个任务调度平台的快速使用也变得越来越重要。现如今,有很多开源的调度中心,Azkaban就为其中之一,但Azkaban使用时,会引起以下问题:假设一个任务流下面存在100个任务,只需执行其中的3个任务,如果直接在Azkaban页面点击,页面展示的任务会特别多,无法全部看清楚,可能会存在误操作的情况,且耗时耗力,并且出错的概率也会增大。
发明内容
本发明实施例提供了一种基于Azkaban的批量任务处理方法、装置、设备及存储介质,旨在解决现有执行任务费时费力且准确率较低的问题。
第一方面,本发明实施例提供了一种基于Azkaban的批量任务处理方法,其包括:
调用Azkaban中的预设登录接口以获取账户认证结果;
若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务;
将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表;
将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。
第二方面,本发明实施例还提供了一种基于Azkaban的批量任务处理装置,其包括:
第一获取单元,用于调用Azkaban中的预设登录接口以获取账户认证结果;
第二获取单元,用于若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务;
对比单元,用于将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表;
执行单元,用于将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
本发明实施例提供了一种基于Azkaban的批量任务处理方法、装置、设备及存储介质。其中,所述方法包括:调用Azkaban中的预设登录接口以获取账户认证结果;若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务;将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表;将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。本发明实施例的技术方案,先获取待执行任务及全量任务,然后将待执行任务及全量任务进行循环比对,以得到全量任务中的待失效任务,最后将待失效任务进行批量失效,并调用Azkaban中的预设执行任务接口以批量执行待执行任务,避免了直接页面点击时容易出错的问题,不仅省时省力,还能提高任务执行的准确率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于Azkaban的批量任务处理方法的流程示意图;
图2为本发明实施例提供的一种基于Azkaban的批量任务处理方法的子流程示意图;
图3为本发明实施例提供的一种基于Azkaban的批量任务处理方法的子流程示意图;
图4为本发明实施例提供的一种基于Azkaban的批量任务处理方法的子流程示意图;
图5为本发明实施例提供的一种基于Azkaban的批量任务处理装置的示意性框图;
图6为本发明实施例提供的基于Azkaban的批量任务处理装置的第二获取单元的示意性框图;
图7为本发明实施例提供的基于Azkaban的批量任务处理装置的对比单元的示意性框图;
图8为本发明实施例提供的基于Azkaban的批量任务处理装置的第一对比子单元的示意性框图;
图9为本发明实施例提供的基于Azkaban的批量任务处理装置的执行单元的示意性框图;以及
图10为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的一种基于Azkaban的批量任务处理方法的流程示意图。本发明实施例的基于Azkaban的批量任务处理方法可应用于服务器端,通过安装于所述服务器端上的应用程序来实现所述基于Azkaban的批量任务处理方法,避免了直接页面点击时容易出错的问题,不仅省时省力,还能提高任务执行的准确率。如图1所示,该方法包括以下步骤S100-S130。
S100、调用Azkaban中的预设登录接口以获取账户认证结果。
在本发明实施例中,服务器将预设的账户名以及与所述预设的账户名对应的密码作为Azkaban中预设登录接口的输入参数,其中,Azkaban是一个批量工作流任务调度器,用于在一个工作流内以特定的顺序运行一组工作和流程,然后调用Azkaban中所述预设登录接口以对所述预设的账户及所述密码进行认证,若认证通过,则登录Azkaban,账户认证结果为认证成功,反之,则未登录Azkaban,账户认证结果为认证失败,将账户认证结果作为所述预设登录接口的输出参数,也即通过所述预设登录接口可获取账户认证结果。需要说明的是,在本发明实施例中,预设登录接口中设有'?action=login'字段信息。
S110、若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务。
在本发明实施例中,调用所述预设登录接口获取账户认证结果之后,会判断所述账户认证结果是否为认证成功,若所述账户认证结果不为认证成功,表明所述账户认证结果为认证失败,则向服务器发送账户认证失败的提示,以提醒用户或测试人员及时处理;若所述账户认证结果为认证成功,表明已经登录Azkaban,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,根据所述预设工程名及所述待执行任务流获取全量任务,其中,所述全量任务包括所述待执行任务及待失效任务,其中,所述待失效任务为所述全量任务中除了待执行任务之外的所有其它任务;所述预配置文件为CSV文件。
请参阅图2,在一实施例中,例如在本发明实施例中,所述步骤S110包括如下步骤S111-S112。
S111、按行依次获取CSV文件中的第一列、第二列以及预设列的内容以分别得到预设工程名、待执行任务流以及待执行任务,其中,所述预设列为第三列及第三列之后所有列;
S112、依次将每行所述预设工程名及所述待执行任务流作为所述Azkaban中预设任务列表接口的参数,并调用所述预设任务列表接口以获取全量任务。
在本发明实施例中,CSV文件中包括多行多列任务信息,其中,第一列的内容为预设工程名,第二列的内容为待执行任务流;第三列及第三列以后列的内容为待执行任务。因此,若所述账户认证结果为认证成功,首先按行依次获取CSV文件中的第一列、第二列以及预设列的内容以分别得到预设工程名、待执行任务流以及待执行任务,其中,所述预设列为第三列及第三列之后所有列,可理解地,第三列及第三列以后的内容为待执行任务;然后再依次将每行所述预设工程名及所述待执行任务流作为所述Azkaban中预设任务列表接口的参数,并调用所述预设任务列表接口以获取全量任务。其中,所述预设任务列表接口设有'/manager?ajax=fetchflowgraph'字段信息。在实际应用中,假设CSV文件为2行4列的任务信息,具体地,第一行:第一列预设工程名为:project1,第二列待执行任务流为flow1,第三列及第四列的内容分别为job1及job3,即待执行任务为job1及job3,根据预设工程名project1及待执行任务流flow1获取到的全量任务为:job1、job2、job3以及job4;可理解地,待失效任务为job2和job4。第二行:第一列预设工程名为:project2,第二列待执行任务流为flow2,第三列及第四列的内容分别为job1及job7,即待执行任务为job1及job7,根据预设工程名project2及待执行任务流flow1获取到的全量任务为:job1、job5、job6以及job7;可理解地,待失效任务为job5和job6。
S120、将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表。
在本发明实施例中,对于CSV文件中的每一行得到所述待执行任务及所述全量任务之后,均会将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表
直到预设行结束符为止,其中,所述预设失效任务列表为C列表。在实际应用
中,假设CSV文件为2行4列的任务信息,第一行中,待执行任务为job1及job3,全量任务为job1、job2、job3以及job4,将待执行任务与全量任务进行比对,得到失效任务job2和job4,然后再将失效任务job2和job4添加至预设失效任务列表;第二行中,待执行任务为job1及job7,全量任务为job1、job5、job6以及job7,将待执行任务与全量任务进行比对,得到失效任务job5和job6,然后再将失效任务job5和job6添加至预设失效任务列表,此时预设失效任务列表中的失效任务为job2、job54、job5以及job6。
请参阅图3,在一实施例中,例如在本发明实施例中,所述步骤S120包括如下步骤S121-S123。
S121、将所述待执行任务及所述全量任务分别添加至预设执行列表及预设全量列表;
S122、对所述预设执行列表及所述预设全量列表分别设置对应的执行循环参数及全量循环参数;
S123、通过所述执行循环参数及所述全量循环参数对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中所述待失效任务,并将所述待失效任务添加至预设失效任务列表。
在本发明实施例中,将所述待执行任务及所述全量任务分别添加至预设执行列表及预设全量列表,其中,所述预设执行列表及预设全量列表分别为A列表及B列表;然后通过预设比对方法对所述A列表中的所述待执行任务及所述B列表中的任务进行比对,以将所述B列表中所述待失效任务添加至预设失效任务列表,其中,预设失效任务列表为C列表;预设比对方法为通过对A列表及B列表分别设置对应的执行循环参数i及全量循环参数j,然后通过所述执行循环参数i及所述全量循环参数j对所述A列表中的所述待执行任务及所述B列表中的任务进行比对,以将所述B列表中所述待失效任务添加至C列表中。
请参阅图4,在一实施例中,例如在本发明实施例中,所述步骤S123包括如下步骤S1231-S1238。
S1231、将所述执行循环参数及所述全量循环参数分别置为1,并分别与所述预设执行列表及所述全量列表中的第一个任务相对应;
S1232、判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致,若所述全量循环参数对应的任务与所述执行循环参数对应的任务不一致,则执行步骤S1233,否则执行步骤S1234;
S1233、将所述全量循环参数对应的任务添加至预设列表中;
S1234、将所述全量循环参数加1,并判断所述全量循环参数是否为预设全量循环结束值;若所述全量循环参数不为所述预设全量循环结束值,则返回执行步骤S1232,否则执行步骤S1235;
S1235、判断所述执行循环参数是否为预设执行循环结束值,若所述执行循环参数为所述预设执行循环结束值,则执行步骤S1236,否则执行步骤S1237;
S1236、将所述预设列表中的任务添加至预设失效任务列表;
S1237、将所述预设全量列表中的任务置换为所述预设列表中的任务,并清空所述预设列表;
S1238、将所述执行循环参数加1,所述全量循环参数的值置位1,返回执行步骤S1232。
在本发明实施例中,首先将所述执行循环参数及所述全量循环参数分别置位1,并将所述执行循环参数及所述全量循环参数分别对应所述A列表及所述B列表中的第一个任务;然后判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致;若所述全量循环参数对应的任务与所述执行循环参数对应的任务不一致,则将所述全量循环参数对应的任务添加至预设列表中;而不管所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致,均会将所述全量循环参数加1,接着返回执行步骤S1232直至所述全量循环参数为预设全量循环结束值为止。所述全量循环参数为预设全量循环结束值之后,判断所述执行循环参数是否为预设执行循环结束值;若所述执行循环参数为所述预设执行循环结束值,表明所述预设执行列表中已没有需要比对的所述待执行任务,则将所述预设列表中的任务添加至预设失效任务列表;若所述执行循环参数不为所述预设执行循环结束值,表明所述预设执行列表中还有需要比对的所述待执行任务,则将所述预设全量列表中的任务置换为所述预设列表中的任务,并清空所述预设列表;再将所述执行循环参数加1,所述全量循环参数的值置位1,返回执行步骤S1232。例如,所述预设执行列表、所述预设全量列表以及所述预设失效任务列表分别为A列表、B列表以及C列表,所述预设列表为temp列表,CSV文件为2行4列的任务信息,在对CSV文件中第一行任务信息进行处理时,A列表中的待执行任务为job1及job3,B列表中的任务为job1、job2、job3以及job4,执行循环参数及全量循环参数分别为i和j,首先将i和j分别置位1,并分别与A列表及B列表中的第一个任务job1相对应,因i对应的任务job1与j对应的任务job1一致,则将j加1,此时j为2,j对应的任务为job2,i对应的任务job1与j对应的任务job2不一致,则将j对应的job2加入temp列表,并将j再1得到3,依次类推直至j为预设全量循环结束值4,此时temp列表中的任务为job2、job3以及job4,由于i为1并不等于预设执行循环结束值2,则将B列表中的任务置换为temp列表中的任务,此时,B列表中的任务为job2、job3以及job4,再将i加1为2,j置位1,i对应的任务为job3,j对应的任务为job2,job2与job3不一致,则将job2添加至temp列表,j加1,j对应的任务为job3,与i对应的任务job3一致,则将j继续加1,......依次类推,直至对比到结束,temp列表为job2及job4,将temp列表值给到C列表,即C列表为job2及job4。在对CSV文件中第二行任务信息进行处理时,A列表中的待执行任务为job1及job7,B列表中的任务为job1、job5、job6以及job7,同上可得到temp列表为job5及job6,此时,C列表为job2、job4、job6以及job7。
S130、将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。
在本发明实施例中,将所述待失效任务添加至预设失效任务列表之后,会将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。其中,预设执行接口设有'/executor?ajax=executeFlow'的字段信息。具体地,从所述预设失效任务列表中获取所述待失效任务job2和job4,然后将述待失效任务job2和job4设为disable,即将所述待失效任务job2和job4进行失效,之后通过str语句将所述待执行任务转换成执行任务字符串;然后根据所述执行任务字符串调用所述Azkaban中的预设执行任务接口以批量执行所述待执行任务,可避免直接页面点击时容易出错的问题,不仅省时省力,还能提高任务执行的准确率。
图5是本发明实施例提供的一种基于Azkaban的批量任务处理装置200的示意性框图。如图5所示,对应于以上基于Azkaban的批量任务处理方法,本发明还提供一种基于Azkaban的批量任务处理装置200。该基于Azkaban的批量任务处理装置200包括用于执行上述基于Azkaban的批量任务处理方法的单元,该装置可以被配置于服务器中。具体地,请参阅图5,该基于Azkaban的批量任务处理装置200包括第一获取单元201、第二获取单元202、对比单元203以及执行单元204。
其中,所述第一获取单元201用于调用Azkaban中的预设登录接口以获取账户认证结果;所述第二获取单元202用于若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务;所述对比单元203用于将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表;所述执行单元204用于将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。
在某些实施例,例如本实施例中,如图6所示,所述第二获取单元202包括第一获取子单元2021及第二获取子单元2022。
其中,所述第一获取子单元2021用于按行依次获取CSV文件中的第一列、第二列以及预设列的内容以分别得到预设工程名、待执行任务流以及待执行任务,其中,所述预设列为第三列及第三列之后所有列;所述第二获取子单元2022用于依次将每行所述预设工程名及所述待执行任务流作为所述Azkaban中预设任务列表接口的参数,并调用所述预设任务列表接口以获取全量任务。
在某些实施例,例如本实施例中,如图7所示,所述对比单元203包括第一添加单元2031、第一设置单元2032以及第一对比子单元2033。
其中,所述第一添加单元2031用于将所述待执行任务及所述全量任务分别添加至预设执行列表及预设全量列表;所述第一设置单元2032用于对所述预设执行列表及所述预设全量列表分别设置对应的执行循环参数及全量循环参数;所述第一对比子单元2033用于通过所述执行循环参数及所述全量循环参数对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中所述待失效任务,并将所述待失效任务添加至预设失效任务列表。
在某些实施例,例如本实施例中,如图8所示,所述第一对比子单元2033包括第二设置单元20331、第一判断单元20332、第二添加单元20333、第一返回单元20334、第二判断单元20335、第三添加单元20336、置换单元20337以及第二返回单元20338。
其中,所述第二设置单元20331用于将所述执行循环参数及所述全量循环参数分别置为1,并分别与所述预设执行列表及所述全量列表中的第一个任务相对应;所述第一判断单元20332用于判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致;所述第二添加单元20333用于若所述全量循环参数对应的任务与所述执行循环参数对应的任务不一致,则将所述全量循环参数对应的任务添加至预设列表中;所述第一返回单元20334用于将所述全量循环参数加1,返回执行判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致的步骤直至所述全量循环参数为预设全量循环结束值为止;所述第二判断单元20335用于判断所述执行循环参数是否为预设执行循环结束值;所述第三添加单元20336用于若所述执行循环参数为所述预设执行循环结束值,则将所述预设列表中的任务添加至预设失效任务列表;所述置换单元20337用于若所述执行循环参数不为所述预设执行循环结束值,则将所述预设全量列表中的任务置换为所述预设列表中的任务,并清空所述预设列表;所述第二返回单元20338用于将所述执行循环参数加1,所述全量循环参数的值置位1,返回执行判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致的步骤。
在某些实施例,例如本实施例中,如图9所示,所述执行单元204包括失效单元2041、转换单元2042以及执行子单元2043。
其中,所述失效单元2041用于将所述预设失效任务列表中的所述待失效任务均设为预设失效值以进行批量失效;所述转换单元2042用于通过str语句将所述待执行任务转换成执行任务字符串;所述执行子单元2043用于根据所述执行任务字符串调用所述Azkaban中的预设执行任务接口以批量执行所述待执行任务。
本发明实施例的基于Azkaban的批量任务处理装置200的具体实现方式与上述基于Azkaban的批量任务处理方法相对应,在此不再赘述。
上述基于Azkaban的批量任务处理装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备300为服务器,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参阅图10,该计算机设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括存储介质303和内存储器304。
该存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种基于Azkaban的批量任务处理方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种基于Azkaban的批量任务处理方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:调用Azkaban中的预设登录接口以获取账户认证结果;若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务;将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表;将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。
在某些实施例,例如本实施例中,处理器302在实现所述按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务步骤时,具体实现如下步骤:按行依次获取CSV文件中的第一列、第二列以及预设列的内容以分别得到预设工程名、待执行任务流以及待执行任务,其中,所述预设列为第三列及第三列之后所有列;依次将每行所述预设工程名及所述待执行任务流作为所述Azkaban中预设任务列表接口的参数,并调用所述预设任务列表接口以获取全量任务。
在某些实施例,例如本实施例中,处理器302在实现所述将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表步骤时,具体实现如下步骤:将所述待执行任务及所述全量任务分别添加至预设执行列表及预设全量列表;对所述预设执行列表及所述预设全量列表分别设置对应的执行循环参数及全量循环参数;通过所述执行循环参数及所述全量循环参数对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中所述待失效任务,并将所述待失效任务添加至预设失效任务列表。
在某些实施例,例如本实施例中,处理器302在实现所述通过所述执行循环参数及所述全量循环参数对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中所述待失效任务,并将所述待失效任务添加至预设失效任务列表步骤时,具体实现如下步骤:将所述执行循环参数及所述全量循环参数分别置为1,并分别与所述预设执行列表及所述全量列表中的第一个任务相对应;判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致;若所述全量循环参数对应的任务与所述执行循环参数对应的任务不一致,则将所述全量循环参数对应的任务添加至预设列表中;将所述全量循环参数加1,返回执行判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致的步骤直至所述全量循环参数为预设全量循环结束值为止;判断所述执行循环参数是否为预设执行循环结束值;若所述执行循环参数为所述预设执行循环结束值,则将所述预设列表中的任务添加至预设失效任务列表;若所述执行循环参数不为所述预设执行循环结束值,则将所述预设全量列表中的任务置换为所述预设列表中的任务,并清空所述预设列表;将所述执行循环参数加1,所述全量循环参数的值置位1,返回执行判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致的步骤。
在某些实施例,例如本实施例中,处理器302在实现所述将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务步骤时,具体实现如下步骤:将所述预设失效任务列表中的所述待失效任务均设为预设失效值以进行批量失效;通过str语句将所述待执行任务转换成执行任务字符串;根据所述执行任务字符串调用所述Azkaban中的预设执行任务接口以批量执行所述待执行任务。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行上述基于Azkaban的批量任务处理方法的任意实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于Azkaban的批量任务处理方法,其特征在于,包括:
调用Azkaban中的预设登录接口以获取账户认证结果;
若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务;
将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表;
将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。
2.根据权利要求1所述的方法,其特征在于,所述按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务,包括:
按行依次获取CSV文件中的第一列、第二列以及预设列的内容以分别得到预设工程名、待执行任务流以及待执行任务,其中,所述预设列为第三列及第三列之后所有列;
依次将每行所述预设工程名及所述待执行任务流作为所述Azkaban中预设任务列表接口的参数,并调用所述预设任务列表接口以获取全量任务。
3.根据权利要求1所述的方法,其特征在于,所述将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表,包括:
将所述待执行任务及所述全量任务分别添加至预设执行列表及预设全量列表;
通过预设比对方法对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中的所述待失效任务,并将所述待失效任务添加至预设失效任务列表。
4.根据权利要求3所述的方法,其特征在于,所述通过预设比对方法对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中的所述待失效任务,并将所述待失效任务添加至预设失效任务列表,包括:
对所述预设执行列表及所述预设全量列表分别设置对应的执行循环参数及全量循环参数;
通过所述执行循环参数及所述全量循环参数对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中所述待失效任务,并将所述待失效任务添加至预设失效任务列表。
5.根据权利要求4所述的方法,其特征在于,所述通过所述执行循环参数及所述全量循环参数对所述预设执行列表中的所述待执行任务及所述预设全量列表中的任务进行循环比对,以得到所述全量列表中所述待失效任务,并将所述待失效任务添加至预设失效任务列表,包括:
将所述执行循环参数及所述全量循环参数分别置为1,并分别与所述预设执行列表及所述全量列表中的第一个任务相对应;
判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致;
若所述全量循环参数对应的任务与所述执行循环参数对应的任务不一致,则将所述全量循环参数对应的任务添加至预设列表中;
将所述全量循环参数加1,返回执行判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致的步骤直至所述全量循环参数为预设全量循环结束值为止;
判断所述执行循环参数是否为预设执行循环结束值;
若所述执行循环参数为所述预设执行循环结束值,则将所述预设列表中的任务添加至预设失效任务列表。
6.根据权利要求5所述的方法,其特征在于,所述判断所述执行循环参数是否为预设执行循环结束值,包括:
若所述执行循环参数不为所述预设执行循环结束值,则将所述预设全量列表中的任务置换为所述预设列表中的任务,并清空所述预设列表;
将所述执行循环参数加1,所述全量循环参数的值置位1,返回执行判断所述全量循环参数对应的任务与所述执行循环参数对应的任务是否一致的步骤。
7.根据权利要求1所述的方法,其特征在于,所述将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务,包括:
将所述预设失效任务列表中的所述待失效任务均设为预设失效值以进行批量失效;
通过str语句将所述待执行任务转换成执行任务字符串;
根据所述执行任务字符串调用所述Azkaban中的预设执行任务接口以批量执行所述待执行任务。
8.一种基于Azkaban的批量任务处理装置,其特征在于,包括:
第一获取单元,用于调用Azkaban中的预设登录接口以获取账户认证结果;
第二获取单元,用于若所述账户认证结果为认证成功,则按行依次获取预配置文件中的预设工程名、待执行任务流以及待执行任务,并根据每行所述预设工程名及所述待执行任务流依次获取全量任务;
对比单元,用于将所述待执行任务与所述全量任务进行循环比对,以得到所述全量任务中的待失效任务,并将所述待失效任务添加至预设失效任务列表;
执行单元,用于将所述预设失效任务列表中的所述待失效任务进行批量失效,并调用所述Azkaban中的预设执行任务接口执行所述待执行任务。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111012455.1A CN113722068A (zh) | 2021-08-31 | 2021-08-31 | 基于Azkaban的批量任务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111012455.1A CN113722068A (zh) | 2021-08-31 | 2021-08-31 | 基于Azkaban的批量任务处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722068A true CN113722068A (zh) | 2021-11-30 |
Family
ID=78679748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111012455.1A Pending CN113722068A (zh) | 2021-08-31 | 2021-08-31 | 基于Azkaban的批量任务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722068A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004326486A (ja) * | 2003-04-25 | 2004-11-18 | Matsushita Electric Ind Co Ltd | タスク管理装置 |
CN110457118A (zh) * | 2019-07-05 | 2019-11-15 | 中国平安人寿保险股份有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
WO2019237593A1 (zh) * | 2018-06-13 | 2019-12-19 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN110895488A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 任务调度方法及装置 |
CN111580942A (zh) * | 2020-03-30 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 分布式系统定时任务的处理方法、装置及存储介质 |
WO2021008576A1 (zh) * | 2019-07-17 | 2021-01-21 | 深圳前海微众银行股份有限公司 | 上下文信息管理方法、装置、系统及计算机可读存储介质 |
-
2021
- 2021-08-31 CN CN202111012455.1A patent/CN113722068A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004326486A (ja) * | 2003-04-25 | 2004-11-18 | Matsushita Electric Ind Co Ltd | タスク管理装置 |
WO2019237593A1 (zh) * | 2018-06-13 | 2019-12-19 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN110895488A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 任务调度方法及装置 |
CN110457118A (zh) * | 2019-07-05 | 2019-11-15 | 中国平安人寿保险股份有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
WO2021008576A1 (zh) * | 2019-07-17 | 2021-01-21 | 深圳前海微众银行股份有限公司 | 上下文信息管理方法、装置、系统及计算机可读存储介质 |
CN111580942A (zh) * | 2020-03-30 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 分布式系统定时任务的处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885452B (zh) | 性能监控方法、装置及终端设备 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN109117141B (zh) | 简化编程的方法、装置、电子设备、计算机可读存储介质 | |
CN111026568A (zh) | 数据和任务关系构建方法、装置、计算机设备及存储介质 | |
CN111045933A (zh) | 一种回归策略更新方法、装置、存储介质及终端设备 | |
CN111143087A (zh) | 一种接口调用方法、装置、存储介质和服务器 | |
CN108038665B (zh) | 业务规则管理方法、装置、设备及计算机可读存储介质 | |
CN113312072A (zh) | 配置文件更新方法及装置、电子设备和介质 | |
CN111694572A (zh) | 代码格式转换方法、装置、计算机设备及存储介质 | |
CN110990141A (zh) | 定时任务处理方法、装置、计算设备及存储介质 | |
CN110995539A (zh) | 业务系统监控方法、装置及计算机设备 | |
CN113411645B (zh) | 信息推荐方法及装置、电子设备和介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN115495142A (zh) | 云资源编排方法、装置、计算机设备及存储介质 | |
CN114185900B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN111882038A (zh) | 模型转换方法与装置 | |
US7979743B2 (en) | Determining correctness of job plans in a stream processing application | |
CN112860566B (zh) | 小程序检测方法、装置、电子设备以及可读介质 | |
CN113886443A (zh) | 日志的处理方法、装置、计算机设备及存储介质 | |
CN112380094A (zh) | 一种rpa业务流程处理方法及装置 | |
CN113722068A (zh) | 基于Azkaban的批量任务处理方法、装置、设备及存储介质 | |
CN111176987A (zh) | 前端日志统一输出的方法、装置、计算机设备及存储介质 | |
CN114328065A (zh) | 中断验证方法、装置及电子设备 | |
US11436000B2 (en) | Prioritized non-active memory device update | |
CN114625106A (zh) | 车辆诊断的方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |