0

我试图更好地掌握后台作业的内部工作原理以及它们如何提高性能。

我知道目标是让应用程序尽可能快地向用户返回响应,所以你不想说,解析一个需要 10 秒的巨大提要,因为它会阻止应用程序能够处理任何其他请求。

因此,建议将任何执行时间超过 500 毫秒的操作放入排队的后台作业中。

我不明白的是,这不只是延迟了同样的问题吗?我知道调用该后台作业的用户会立即得到响应,但是如果另一个用户在该后台作业开始时正确出现(并且需要 10 秒才能完成),该用户是否必须等待?

或者主要问题是,requests是唯一可以一次发生的事情,而另一方面,一个请求可以在一个+后台作业正在运行时启动?

那是对的吗?

4

1 回答 1

1

后台进程的想法是它负责所有长时间运行的进程。

基本上,它是一个在网络服务器之外运行的外部应用程序,具有一个或多个处理请求的进程。

因此,是否有另一个用户请求页面并不重要,因为该作业不占用网络服务器,用户不必等待任何事情完成。

如果该用户还做了一些被放入后台队列的事情,那么它将只是堆叠在那里,直到第一个完成(或者在有多个进程处理它的情况下,只要有一个可用)。

希望这个解释让它更清楚一点:)

于 2010-06-02T19:35:23.157 回答