python - Google App Engine 后台线程与任务

标签 python multithreading google-app-engine

在后台创建线程和为其创建任务有什么区别?

例如,一个线程:

tid = background_thread.start_new_background_thread(f, ["foo", "bar"])

然后有一个任务:

taskqueue.add(url='/worker', params={'key': key})

有什么区别?什么时候用一个代替另一个?使用任务队列比使用 background_thread(似乎更容易设置)有什么优势吗?

最佳答案

最大的区别是任务独立于任何其他代码运行,您可以轻松管理它们的处理速度,它们可以在失败时自动重试,并且您可以为它们设置不同的选项,例如 ETA。

当然,您可以自己完成所有这些,但是您必须编写和测试大量代码。

关于python - Google App Engine 后台线程与任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530845/

相关文章:

python - 如何在 python 的 if 语句中记录手动引发的异常

jquery - 带有动态内容的分页符(打印)

java - 在 Java 11 App Engine 项目中配置静态文件 (CSS)

c# - 具有调用问题的线程和 GUI

Python - 无法从 __future__ 导入 with_statement

python - 在 Google AppEngine 开发上打开 APNS 套接字时出现权限被拒绝错误

python - 将 unicode 字符串(日语字符)作为命令行参数传递

python - macOS 卡塔利娜 : Python Quit unexpectedly error

android - 在 Android 的后台线程上初始化 Firebase 是否安全?需要注意什么?

Python 脚本在后台运行时挂起