【问题标题】:Laravel interaction with external programLaravel 与外部程序的交互
【发布时间】:2021-06-29 21:21:01
【问题描述】:

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

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

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

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

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

谢谢。

【问题讨论】:

    标签: laravel process jobs interactive


    【解决方案1】:

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

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

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

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

    没有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多