我们需要启用jobExecutorActivate,因为我们想在生产图中使用计时器。
问题是我们在生产环境中运行了一个巨大的图表。我们没有在activiti用户指南中找到任何有关启用jobExecutorActivate的影响的信息。
我们正在使用Activiti-5.22.0
所以我们向专家询问。启用jobExecutorActivate的影响是什么?仅表现?
答案 0 :(得分:1)
正如您可能知道的那样,默认情况下,作业执行程序处于启用状态,如果您想使用计时器,则必须打开它,大概是您已经明确关闭它到目前为止。显然使用计时器会有一些性能损失,但如果你必须使用它们,那么你别无选择,只能打开作业执行者。
如果它是一个选项,升级到Activiti的v6应该会从文档here中提高性能:
Activiti 5的异步执行程序是Activiti 6中唯一可用的作业执行程序,因为它是一种在Activiti Engine中执行异步作业的性能更高且更加数据库友好的方式。 Activiti 5的旧作业执行人被删除。有关详细信息,请参阅用户指南的高级部分。
如果您仍然停留在v5上,那么您仍然可以调整作业执行程序,例如等到它有多个作业要在使用maxJobsPerAcquisition属性运行之前进行处理。显然,这将是快速流程执行和服务器负载之间的折腾,因此您需要根据您的特定情况进行测试,或根据您的计时器的频率和所需的响应性做出判断。
您当然也可以做其他事情来调整性能和负载,例如拒绝历史记录。有一系列关于Activiti性能的博客文章,其中有一些调整信息here,有点旧但仍然很好。