如何从vuejs触发spring批处理执行
我试图从端点触发spring批处理执行。我已经在后端实现了一个服务。因此,我尝试从Vue调用该端点 异步触发器(数据){ let response=等待Axios.post(“”) console.log(response.data.message) }如何从vuejs触发spring批处理执行,spring,vue.js,spring-batch,execution,Spring,Vue.js,Spring Batch,Execution,我试图从端点触发spring批处理执行。我已经在后端实现了一个服务。因此,我尝试从Vue调用该端点 异步触发器(数据){ let response=等待Axios.post(“”) console.log(response.data.message) } 后端的我的服务返回一个响应“Batch started”,并在后台执行,因为它是异步的,但在作业执行后不会返回(我只在控制台中看到状态)。在这种情况下,如何等待vue的调用以完成服务执行。我理解一旦执行完成/失败,服务将不发送响应。我需要在后
后端的我的服务返回一个响应“Batch started”,并在后台执行,因为它是异步的,但在作业执行后不会返回(我只在控制台中看到状态)。在这种情况下,如何等待vue的调用以完成服务执行。我理解一旦执行完成/失败,服务将不发送响应。我需要在后端或前端进行任何更改以支持此功能。请告诉我您的想法。正如您所说,后端服务是异步的,这意味着一旦代码被执行,它就会移动到下一行。如果没有下一行退出,则函数存在,脚本关闭,服务器向前端发送一个空响应 你的选择是:
请查看以了解更多详细信息和代码示例。我的建议是,您应该进行作业状态的前端查询,而不是等待作业完成并响应,因为作业可能需要很长时间才能完成 触发作业启动的API应返回作业ID,您可以在
jobsecution
对象中获取作业ID。调用JobLauncher.run
时返回此对象
然后在后端实现一个查询API,以按作业ID获取作业的状态。您可以使用SpringJobExplorer
实现这一点
然后,前端可以调用此查询API以获取作业状态。您应该每隔一段时间(例如30秒、5分钟等,具体取决于您的工作)。这将防止您的应用程序陷入等待作业和超时错误的状态。My service在启动时启动流程,并发送响应“job started”(作业已启动),然后在后台移动以进一步执行,此时服务当前未提供响应,这就是实现的方式。因此,我无法触摸后端服务如果您无法触摸后端服务,则您无法在此进行任何调整以支持您的请求。谢谢。我将使用这些选项查看后端