假设我们有500个具有单个活动的步进函数实例,例如ABC
的ARN为arn:aws:states:xxxx:xxxx:activity:ABC_Activity
。
我使用Spring Boot在SpringApplication.run()
方法中执行我的功能:
@Override
public void run(String... args) throws Exception {
try {
abcActivity.run();
} catch (Exception e) {
}
这基本上是在无限循环中寻找开放的arn步函数活动。
public void run() {
while (true) {
GetActivityTaskResult getActivityTaskResult = stepFunction.getActivityTask(
new GetActivityTaskRequest()
.withActivityArn(Config.FUNCTION_ROLE_LAMDA)
);
if (getActivityTaskResult.getTaskToken() != null) {
executefunction(getActivityTaskResult);
}
}
现在,我在@Async
方法上使用了public void run
,以便所有arn活动都可以并行执行,但是执行仍按顺序进行。
请让我知道如何实现并行执行。