CN111240812B - 任务执行方法及装置 - Google Patents

任务执行方法及装置 Download PDF

Info

Publication number
CN111240812B
CN111240812B CN201811436442.5A CN201811436442A CN111240812B CN 111240812 B CN111240812 B CN 111240812B CN 201811436442 A CN201811436442 A CN 201811436442A CN 111240812 B CN111240812 B CN 111240812B
Authority
CN
China
Prior art keywords
executed
task
execution
executing
tasks
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.)
Active
Application number
CN201811436442.5A
Other languages
English (en)
Other versions
CN111240812A (zh
Inventor
欧建强
梁健乐
李成奇
周小乐
杨志勇
林佳烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Guangdong Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811436442.5A priority Critical patent/CN111240812B/zh
Publication of CN111240812A publication Critical patent/CN111240812A/zh
Application granted granted Critical
Publication of CN111240812B publication Critical patent/CN111240812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种任务执行方法及装置。所述方法包括:获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;异步执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。

Description

任务执行方法及装置
技术领域
本发明实施例涉及移动通信技术领域,尤其涉及一种任务执行方法及装置。
背景技术
随着移动通信技术的迅速发展,以智能手机为首的移动终端已成为人们生活中各方面不可或缺的工具,用户也趋向于通过手机在线办理各项运营商相关的各项业务。运营商通过其业务办理系统为用户提供业务办理功能,而工作流引擎作为业务办理系统的核心,主要提供就业务订单的排队、优先级、条件审核等各类规则配置功能。
目前,主流的工作流引擎包括Activiti、jBPM4、jBPM5等。与jBPM4、jBPM5相比,Activiti具有更多良好的特性,比如Activiti具有协作工具组件,像建模器—ActivitiModeler;管理及监控组件—Activiti probe);此外,Activiti拥有更简洁健壮的接口、拥有更友好的用户体验、支持启动引擎后随时热部署、拥有更友好易用的Eclipse编辑插件和在线插件、依赖更少的jar包等。因此,业务受理系统通常采用Activiti作为工作流程引擎。目前,Activiti流程引擎中的工作执行器,处理业务订单性能约为3000单/小时,但随着业务线上受理日益常态化,以及周期性促销活动优惠力度的变化,在营销活动期内,业务订单可达每天10万单以上;而若业务受理系统性能不足,业务办理效率会降低,导致客户感知下降;为了提高业务受理系统性能,可通过堆设更多硬件来解决,比如通过增加服务器,双机甚至更多的机器部署流程引擎进行办理,实现平行扩容外,而堆设更多硬件并不能保证性能的足够提高,不能保证业务办理能力与日益增长的线上移动业务量相匹配。
此外,除了Activiti流程引擎的工作执行器性能不足的问题之外,Activiti流程引擎还存在订单存在重复办理的问题。具体地,若流程节点睡眠时间过长,导致流程定时任务监控认为该节点办理超时,会启动重试机制,最大重试5次,而此时实际节点还在办理,等待睡眠完成后会再处理,因此会导致处理重复。而业务受理系统通信不具有办理回退能力,因此会出现一定的订单办理重复率。
发明内容
本发明实施例提供一种任务执行方法及装置,用以解决现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
一方面,本发明实施例提供一种任务执行方法,所述方法包括:
获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
异步执行所述待执行任务。
一方面,本发明实施例提供一种任务执行装置,所述装置包括:
获取模块,用于获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
执行模块,用于异步执行所述待执行任务。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任务执行方法中的步骤。
再一方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任务执行方法中的步骤。
本发明实施例提供的任务执行方法及装置,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的任务执行方法的流程示意图之一;
图2为本发明实施例的示例的场景示意图;
图3为本发明实施例提供的任务执行方法的流程示意图之二;
图4为本发明实施例提供的任务执行装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
图1示出了本发明实施例提供的一种任务执行方法的流程示意图。
如图1所示,本发明实施例提供的任务执行方法,应用于工作流引擎,所述方法具体包括以下步骤:
步骤101,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
其中,线程是程序执行流的最小单元,线程是程序进程中的一个实体,是被系统独立调度和分派的基本单位,可与同属一个进程的其它线程共享进程所拥有的全部资源。
线程池是一种多线程处理形式,处理过程中将待执行任务添加到队列,然后在创建线程后,自动启动这些任务。
工作流引擎的线程池中包括至少两个属于同一流程的待执行任务时,当待执行任务的数据量庞大时,由于业务受理系统性能不足,业务办理效率会降低,因此,在检测到线程池中属于同一流程的待执行任务的数量包括至少两个时,执行异步处理流程。
步骤102,异步执行所述待执行任务。
其中,异步执行所述待执行任务即分别以独立的线程,执行所述待执行任务;具体地,作为示例,参见图2,工作流引擎可配置有一异步执行器,用于执行线程池中的待执行任务。启用后,工作流引擎将使用异步作业实体调用异步执行程序,线程池将异步执行作业。
参见图2,异步执行器则直接执行异步作业,分别以独立的线程,执行属于同一流程的待执行任务,比如分别以独立的线程,执行任务1-任务3,每个独立线程的任务完成之后,该线程结束。如果异步执行作业是独占作业,则异步执行器将首先锁定进程实例执行,并且如果成功执行该作业并再次解锁进程实例执行。
本发明上述实施例中,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
可选地,本发明实施例中,所述异步执行所述待执行任务的步骤之前,所述方法还包括:
关闭所述工作流引擎的线程执行器,并配置所述工作流引擎的执行参数。
具体地,以activiti5.17版本为例,需配置以下参数:
(1)配置异步执行器需先增加activiti5.17版本一些相关jar包,如下:
activiti-common-rest-5.17.0.jar
activiti-diagram-rest-5.17.0.jar
activiti-simple-workflow-5.17.0.jar
(2)关闭原来的工作执行器,并修改配置:
<property name="jobExecutorActivate"value="false"/>
然后增加启动异步执行器配置:
<property name="asyncExecutorEnabled"value="true"/>
增加启动异步执行器线程池配置:
<property name="asyncExecutorActivate"value="true"/>。
可选地,本发明实施例中,所述执行参数包括:所述线程池中保持活动的最小线程数、最大线程数,用于执行作业的线程的时间,用于放置执行作业的队列的大小,单次查询的定时器作业的数量和/或单次查询提取异步作业的数量。
其中,所述执行参数还包括配置异步执行器线程池大小参数及其他配置参数,仍以activiti5.17版本为例,上述参数的具体内容如下:
所述线程池中保持活动的最小线程数:corePoolSize,用于作业执行;
所述线程池中保持活动的最大线程数:maxPoolSize,用于作业执行;
用于执行作业的线程的时间:keepAliveTime;
用于放置执行作业的队列的大小:queueSize;
单次查询的定时器作业的数量:maxTimerJobsPerAcquisition;
单次查询提取异步作业的数量:maxAsyncJobsDuePerAcquisition;
此外,其他配置参数包括以下内容:
defaultAsyncJobAcquireWaitTimeInMillis:执行异步作业到期查询之间的时间(以毫秒为单位)。
defaultTimerJobAcquireWaitTimeInMillis:执行定时器作业查询之间的时间(以毫秒为单位)。
timerLockTimeInMillis:在重新尝试之前,计时器作业被锁定的时间(以毫秒为单位)。
asyncJobLockTimeInMillis:异步作业在重新尝试之前被锁定的时间(以毫秒为单位)。
配置实例如下所示:
作为又一实施例,如图3所示,本发明实施例还提供了一种任务执行方法,应用于工作流引擎,所述方法具体包括以下步骤:
步骤301,监控所述工作流引擎的执行流程;
其中,本发明实施例中引入了节点监听控制机制,监控所述工作流引擎的执行流程,比如在工作流引擎中增设流程监听器,增加全局变量用于保存订单处理信息,放在内存;流程节点开始,记录订单状态到全局变量;流程节点完成,记录订单状态到全局变量;流程节点开始时判断内存的全局变量是否存在订单处理信息,存在,则获取订单处理结果,保存记录,重新设置流程处理结果,让流程继续流转到下个节点,不再重复处理;不存在,则走正常流程。
具体地,步骤301包括:监控所述待执行任务的执行状态;和/或创建并维持用于记载所述执行状态的日志。
其中,执行状态包括执行完成以及未执行完成,日志用于记载执行状态以及其他执行节点相关的内容。
步骤302,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
其中,工作流引擎的线程池中包括至少两个属于同一流程的待执行任务时,当待执行任务的数据量庞大时,由于业务受理系统性能不足,业务办理效率会降低,因此,在检测到线程池中属于同一流程的待执行任务的数量包括至少两个时,执行异步处理流程。
步骤303,获取所述待执行任务的日志,判断所述待执行任务对应的节点是否已处理成功。
其中,修改工作流引擎的流程处理逻辑,增加判断该节点是否已处理过,防止该节点被重复处理。具体地,在执行流程开始时,从全局变量查询是否有该待执行任务的日志,即订单的处理信息;获取待执行任务的日志,判断该待执行任务对应的节点是否已处理成功,并根据是否处理成功执行步骤304或步骤305。
步骤304,若所述待执行任务的日志指示所述节点已处理成功,则停止执行所述待执行任务,并执行步骤306。
其中,如果节点已处理成功,则停止执行所述待执行任务,避免重复执行;并执行步骤306,直接获取该节点上一次办理记录、执行状态重新插入日志中,防止办理记录没保存到日志,以及方便故障排查。
步骤305,若所述待执行任务的日志指示所述节点未处理成功,则异步执行述所述待执行任务,并执行步骤306。
其中,节点未处理成功包括未处理以及已处理而未成功,若节点未处理成功,继续执行办理逻辑,重新办理,并执行步骤306。
步骤306,更新所述节点的订单状态以及办理记录至所述待执行任务的日志。
其中,流程处理完成时,无论是成功失败,都所述节点的订单状态以及办理记录至所述待执行任务的日志,更新全局变量,以便下一次处理到该节点时,可判断是否重复处理。
本发明上述实施例中,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求;通过节点监听机制,避免订单重复处理;通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,本发明实施例解决了现有技术中,Activiti流程引擎的工作执行器性能不足以及订单存在重复办理的问题。
以上介绍了本发明实施例提供的任务执行方法,下面将结合附图介绍本发明实施例提供的任务执行装置。
参见图4,本发明实施例提供了一种任务执行装置,应用于工作流引擎,所述装置包括:
获取模块401,用于获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
其中,线程是程序执行流的最小单元,线程是程序进程中的一个实体,是被系统独立调度和分派的基本单位,可与同属一个进程的其它线程共享进程所拥有的全部资源。
线程池是一种多线程处理形式,处理过程中将待执行任务添加到队列,然后在创建线程后,自动启动这些任务。
工作流引擎的线程池中包括至少两个属于同一流程的待执行任务时,当待执行任务的数据量庞大时,由于业务受理系统性能不足,业务办理效率会降低,因此,在检测到线程池中属于同一流程的待执行任务的数量包括至少两个时,执行异步处理流程。
执行模块402,用于异步执行所述待执行任务。
具体地,作为示例,参见图2,工作流引擎可配置有一异步执行器,用于执行线程池中的待执行任务。启用后,工作流引擎将使用异步作业实体调用异步执行程序,线程池将异步执行作业。
参见图2,异步执行器则直接执行异步作业,分别以独立的线程,执行属于同一流程的待执行任务,比如分别以独立的线程,执行任务1-任务3,每个独立线程的任务完成之后,该线程结束。如果异步执行作业是独占作业,则异步执行器将首先锁定进程实例执行,并且如果成功执行该作业并再次解锁进程实例执行。
本发明上述实施例中,通过获取模块401获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,执行模块402异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
可选地,本发明实施例中,所述执行模块402用于:
分别以独立的线程,执行所述待执行任务。
可选地,本发明实施例中,所述装置还包括:
参数配置模块,用于关闭所述工作流引擎的线程执行器,并配置所述工作流引擎的执行参数。
其中,在执行异步执行所述待执行任务,首先关闭所述工作流引擎的线程执行器,并修改配置参数,依据异步执行流程重新配置所述工作流引擎的执行参数。
可选地,本发明实施例中,所述执行参数包括:所述线程池中保持活动的最小线程数、最大线程数,用于执行作业的线程的时间,用于放置执行作业的队列的大小,单次查询的定时器作业的数量和/或单次查询提取异步作业的数量。
可选地,本发明实施例中,所述装置还包括:
监控模块,用于监控所述工作流引擎的执行流程,具体用于:
监控所述待执行任务的执行状态;和/或创建并维持用于记载所述执行状态的日志。
其中,执行状态包括执行完成以及未执行完成,日志用于记载执行状态以及其他执行节点相关的内容。
可选地,本发明实施例中,所述执行模块402包括:
获取子模块,用于获取所述待执行任务的日志,判断所述待执行任务对应的节点是否已处理成功:
第一执行子模块,用于若所述待执行任务的日志指示所述节点已处理成功,则停止执行所述待执行任务;
第二执行子模块,用于若所述待执行任务的日志指示所述节点未处理成功,则异步执行述所述待执行任务。
可选地,本发明实施例中,所述装置还包括:
日志更新模块,用于更新所述节点的订单状态以及办理记录至所述待执行任务的日志。
本发明上述实施例中,通过获取模块401获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,执行模块402异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求;通过节点监听机制,避免订单重复处理;通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,本发明实施例解决了现有技术中,Activiti流程引擎的工作执行器性能不足以及订单存在重复办理的问题。
图5示出了本发明又一实施例提供的一种电子设备的结构示意图。
如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:
获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
异步执行所述待执行任务。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
本发明又一实施例提供的一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,所述程序被处理器执行时实现如本发明上述实施例中提供的方法中的步骤,本实施不再赘述。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种任务执行方法,应用于工作流引擎,其特征在于,所述方法包括:
获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
异步执行所述待执行任务;
所述异步执行所述待执行任务的步骤之前,所述方法还包括:
关闭所述工作流引擎的线程执行器,并配置所述工作流引擎的执行参数;
所述执行参数包括:所述线程池中保持活动的最小线程数、最大线程数,用于执行作业的线程的时间,用于放置执行作业的队列的大小,单次查询的定时器作业的数量和/或单次查询提取异步作业的数量;
所述方法还包括:
监控所述工作流引擎的执行流程,包括:
监控所述待执行任务的执行状态;和/或创建并维持用于记载所述执行状态的日志;
所述异步执行所述待执行任务的步骤,包括:
获取所述待执行任务的日志,判断所述待执行任务对应的节点是否已处理成功:
若所述待执行任务的日志指示所述节点已处理成功,则停止执行所述待执行任务;
若所述待执行任务的日志指示所述节点未处理成功,则异步执行所述待执行任务。
2.根据权利要求1所述的方法,其特征在于,所述异步执行所述待执行任务的步骤,包括:
分别以独立的线程,执行所述待执行任务。
3.根据权利要求1所述的方法,其特征在于,所述停止执行所述待执行任务的步骤之后,或所述异步执行述所述待执行任务的步骤之后,所述方法还包括:
更新所述节点的订单状态以及办理记录至所述待执行任务的日志。
4.一种任务执行装置,应用于工作流引擎,其特征在于,所述装置包括:
获取模块,用于获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
执行模块,用于异步执行所述待执行任务;
所述装置还包括:
参数配置模块,用于关闭所述工作流引擎的线程执行器,并配置所述工作流引擎的执行参数;
所述执行参数包括:所述线程池中保持活动的最小线程数、最大线程数,用于执行作业的线程的时间,用于放置执行作业的队列的大小,单次查询的定时器作业的数量和/或单次查询提取异步作业的数量;
所述装置还包括监控模块,用于:
监控所述工作流引擎的执行流程,包括:
监控所述待执行任务的执行状态;和/或创建并维持用于记载所述执行状态的日志;
所述执行模块还用于:
获取所述待执行任务的日志,判断所述待执行任务对应的节点是否已处理成功:
若所述待执行任务的日志指示所述节点已处理成功,则停止执行所述待执行任务;
若所述待执行任务的日志指示所述节点未处理成功,则异步执行所述待执行任务。
5.一种电子设备,其特征在于,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至3中任一项所述的任务执行方法中的步骤。
6.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1至3中任一项所述的任务执行方法中的步骤。
CN201811436442.5A 2018-11-28 2018-11-28 任务执行方法及装置 Active CN111240812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811436442.5A CN111240812B (zh) 2018-11-28 2018-11-28 任务执行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811436442.5A CN111240812B (zh) 2018-11-28 2018-11-28 任务执行方法及装置

Publications (2)

Publication Number Publication Date
CN111240812A CN111240812A (zh) 2020-06-05
CN111240812B true CN111240812B (zh) 2024-03-19

Family

ID=70879279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811436442.5A Active CN111240812B (zh) 2018-11-28 2018-11-28 任务执行方法及装置

Country Status (1)

Country Link
CN (1) CN111240812B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899018B (zh) * 2020-07-23 2022-08-26 平安证券股份有限公司 订单数据处理方法、装置、服务器及存储介质
CN111949326A (zh) * 2020-08-03 2020-11-17 杭州当虹科技股份有限公司 一种基于Activiti的微服务工作流方法
CN112215501B (zh) * 2020-10-15 2021-11-26 拉扎斯网络科技(上海)有限公司 一种问题排查流程数据的生成方法及装置
CN113673834A (zh) * 2021-07-27 2021-11-19 杭州优云软件有限公司 一种通过流程监控提高审批效率的方法
CN113656064B (zh) * 2021-08-06 2024-04-09 杭州安恒信息技术股份有限公司 一种框架流程处理方法、系统、可读存储介质及装置
CN116627617A (zh) * 2023-07-19 2023-08-22 高伟达软件股份有限公司 一种营销数据处理方法、装置、设备和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205616A1 (en) * 2009-02-11 2010-08-12 International Business Machines Corporation Application workflow integration subsystem
CN103593236A (zh) * 2013-11-14 2014-02-19 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置
CN108665239A (zh) * 2018-05-08 2018-10-16 平安普惠企业管理有限公司 工作流处理方法、装置、计算机设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205616A1 (en) * 2009-02-11 2010-08-12 International Business Machines Corporation Application workflow integration subsystem
CN103593236A (zh) * 2013-11-14 2014-02-19 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置
CN108665239A (zh) * 2018-05-08 2018-10-16 平安普惠企业管理有限公司 工作流处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111240812A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN111240812B (zh) 任务执行方法及装置
CN107729139B (zh) 一种并发获取资源的方法和装置
CN105871587A (zh) 日志上传方法及装置
CN111400011B (zh) 一种实时任务调度方法、系统、设备及可读存储介质
CN107105009A (zh) 基于Kubernetes系统对接工作流引擎的作业调度方法和装置
CN109669766A (zh) 批处理作业的处理方法、装置、设备及存储介质
CN111382985A (zh) 待办消息集成推送系统和工作方法
CN110611707A (zh) 一种任务调度的方法及装置
CN111381940B (zh) 分布式数据处理方法及装置
CN109766317B (zh) 一种文件的删除方法、装置、设备及存储介质
CN111754189A (zh) 任务投放方法、装置、计算机设备及计算机可读存储介质
CN107463390A (zh) 一种软件升级方法及升级服务器
CN109063468A (zh) 一种安装包完整性验证及修复的方法
CN111212112B (zh) 信息处理方法和装置
WO2023185137A1 (zh) 一种任务管理方法、装置、设备及存储介质
CN112148553A (zh) 一种设备监控方法、装置、系统及计算机可读存储介质
CN116010388A (zh) 数据校验方法、数据采集服务端及数据校验系统
EP3264352A1 (en) System and method of running an agent guide script-flow in an employee desktop web client
CN112632559A (zh) 漏洞自动验证方法、装置、设备及存储介质
CN110896413A (zh) 一种报文处理方法及装置
CN115269161B (zh) 一种异常流程逆向回滚方法和系统
CN112232911A (zh) 一种权益订购异步处理方法及系统
CN101697613A (zh) 一种话单异常的处理方法及其装置
CN113052574A (zh) 工作流的数据处理方法及装置、存储介质及电子设备
US11245795B2 (en) System and method of running an agent guide script-flow in an employee desktop web client

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
GR01 Patent grant
GR01 Patent grant