【发布时间】:2020-08-14 14:31:25
【问题描述】:
我们有一个包含大量 PHP 脚本的后端。将来我们可能会迁移到 NodeJs,这样它本身就会得到照顾,但我很想找到一种方法让我们的脚本异步,这样它就不会阻塞。
我们使用我们的脚本来处理来自 3rd 方服务(Stripe、Zendesk 等)的请求,并且我们的一些函数需要大量时间并产生超时错误,因为我们的 PHP 代码是同步的。
我们不打算使用像 Laravel 之类的东西(据我所知,它已经内置了),所以如果有一种方法可以创建/处理工人或类似的东西,那就太好了。
谢谢!
【问题讨论】:
-
你是如何触发脚本的?也许只是让另一个脚本处理,并分离用户流
-
每个脚本都是一个独立的端点,因此例如我们将拥有
www.example.com/my-script.php,它将接收带有 JSON 对象作为有效负载的 POST 请求,.../my-other-script.php也将接收带有另一个 JSON 的 POST 请求作为有效负载等。乘以 50 多个脚本,您基本上就拥有了我们的后端。是的,坐在上面的处理程序会很棒。你知道如何用普通 PHP 实现它的任何例子吗? -
我知道我们如何可以拥有一个更结构化的后端,其中包含
$router->get('/some/route', function($request) {....等路由。我想知道的是如何以一种非阻塞处理请求的方式实现它,所以我的第 3 方,例如 Zendesk - 对他们得到的回应感到满意(他们需要在 4/5 秒内获得一个很好的旧200)
标签: php api asynchronous zendesk