(序言:我使用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