微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel 与外部程序的交互

如何解决Laravel 与外部程序的交互

我需要与外部程序进行如下交互:

  • 在提交表单时,控制器启动外部程序
  • 程序会通过短信发送验证码并等待验证
  • 控制器返回一个带有表单的新视图以请求此代码
  • 在提交表单时,控制器向程序提供代码

主要问题是这个程序在阻塞模式下运行(它会等待代码并在验证后返回),因此我不能直接从控制器使用 symfony/process 执行它。

相反,我在第一个表单提交时启动的队列作业中执行它(这是正确的做法吗?),但我不知道如何将第二个获得的代码发送到这个正在运行的作业表单提交。

有没有办法将信息从控制器发送到已经运行的作业?

谢谢。

解决方法

我会稍微改变你的工作流程。

  1. 在提交表单时,控制器分派一个作业,启动外部程序
  2. 程序会通过短信发送验证码并等待验证
  3. 当第 2 步的作业完成(验证完成)时,它会触发通知,其中包含指向带有表单的新视图的链接。
  4. 在提交表单时,控制器向程序提供代码

简单的一点是不要阻止请求,让工作处理它,正如您在原始问题中指出的那样。 无论如何都可以构建表单,实现回声服务器将帮助您通过 websocket 传递消息。

有没有办法将信息从控制器发送到已经运行的作业?

没有

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。