Asynchronous 我们可以等待PeopleSoft应用程序引擎等待异步消息完成吗?

Asynchronous 我们可以等待PeopleSoft应用程序引擎等待异步消息完成吗?,asynchronous,integration,peoplesoft,peoplesoft-app-engine,Asynchronous,Integration,Peoplesoft,Peoplesoft App Engine,我试图处理一个数据上传,我试图通过PeopleSoft over Integration Broker在应用程序引擎中异步发布消息。关键是能够发送多条消息并在同一个节点中使用它们。在发送消息之前,我将数据存储在一个表(比如T1)上,以存储上传文件中的所有字段值 在消费时,我试图将每条消息公开给组件接口,异常记录在同一个表T1上。假设对于每个事务,我们都标记表字段(比如Processed_flag='Y') 我需要一种机制,在这种机制中,我可以等待所有异步消息完成。我正在考虑检查T1表,如果T1表

我试图处理一个数据上传,我试图通过PeopleSoft over Integration Broker在应用程序引擎中异步发布消息。关键是能够发送多条消息并在同一个节点中使用它们。在发送消息之前,我将数据存储在一个表(比如T1)上,以存储上传文件中的所有字段值

在消费时,我试图将每条消息公开给组件接口,异常记录在同一个表T1上。假设对于每个事务,我们都标记表字段(比如Processed_flag='Y')

我需要一种机制,在这种机制中,我可以等待所有异步消息完成。我正在考虑检查T1表,如果T1表上有任何行的Processed_标志是'N',只需让线程睡眠更长的时间。当所有消息都未被处理时,保持其休眠状态,不要让应用程序引擎完成

我能得到的唯一好处是,我不必一次等待多个实例,也不必进行同步调用。整个想法是通过不同的事务使用该组件(就像它被100个人->100个事务使用一样)

除非这100个事务已完成,否则我们将确保out T1 table保留一个关于进行和停止的记录。如果出现问题,它可以记录CI捕获的异常


如对该方法有任何意见,将不胜感激。提前谢谢

我们正在采取不同的方法。即使我们能够在appengine完成之前验证这些表上的数据,异步发送消息的整个想法也毫无用处。在这种情况下,使用同步消息会更好,并并行运行进程

因此,我们决定让应用程序引擎完成并通过消息发布所有数据块,并确保消息完全在同一节点中使用

  • 我们将为所有已处理/成功/失败的行更新表T1,因为我们将继续使用消息并根据需要使用它们

  • 我们将为所有已发布和已使用的行保留一个审核或计数器。因为将同一组件暴露于多个事务将对性能产生巨大影响。我们希望确保它的性能更好,就好像50个用户正在使用相同的CI(当然是不同的实例)更新组件后面的相同表一样。我将完成我的概念验证,希望它比并行运行流程要好得多

  • 我希望这可以帮助任何一个谁是处理这些上传问题。谢谢