【发布时间】:2011-01-30 17:02:32
【问题描述】:
我有一个 Python 函数,一旦访问它就会生成一个图像。我可以根据 HTTP 请求直接调用它,也可以使用 Gearman 异步调用它。 有很多请求。
哪种方式更好:
- 内联 - 创建内联图像,将导致一次生成许多图像
- 异步 - 排队作业(使用 Gearman)并在工作器中生成图像
哪个选项更好?
在这种情况下,“更好”意味着最好的速度/负载组合。图像生成示例是象征性的,因为这也可以应用于数据库连接和其他事情。
【问题讨论】:
-
这取决于,生成 1 张图像需要多长时间?如果这个时间很短,您将在同一台机器上获得更好的结果处理。
-
“单独的工人”是指单独的进程还是单独的机器?处理是由 python 代码、本机编译的 python 模块还是其他东西完成的?这些问题的答案会影响您从各种选择中所期望的效率。
-
已更改。现在更有意义了。
-
我更新了我的答案,因为我相信我现在可以更好地回答你的问题?
标签: python asynchronous gearman