对延迟的任务使用current.futures是否不好?

时间:2019-04-16 13:27:20

标签: python

(序言:我使用python-telegram-bot来运行Telegram机器人,该机器人在Google表格中注册了用户的消息。这与该问题无关,但可能会提供一些背景信息来了解问题的根源。问题是Google Sheets API不允许过于频繁地访问Google表格,因此,如果许多用户尝试在其中进行写操作,则需要延迟一些处理请求)。

我知道使用threading模块来处理任务并避免被GIL锁定是非常糟糕的做法。但是根据任务的性质,我收到了来自用户的请求流,因此我希望将它们处理一些延迟(例如比实际接收到的延迟1到10秒)。 (现在我使用celery + redis处理延迟的任务,但是对于诸如延迟执行之类的琐碎事情来说,这似乎对我来说是一个过大的杀伤力,但我可能是错的)。

所以我想知道我是否可以使用concurrent.futures.ProcessPoolExecutor(如此处解释的示例:https://idolstarastronomer.com/two-futures.html),否则会导致大多数警告使用{的人带来的灾难。 {1}}在Python中?

这里是纯假设性代码,它会延迟threading运行某些内容。在某些情况下(例如,过多的延迟请求),最终会导致灾难吗?

ProcessPoolExecutor

0 个答案:

没有答案