【问题标题】:Python / Twisted matrix and SOAP threadingPython / 扭曲矩阵和 SOAP 线程
【发布时间】:2012-10-08 11:19:36
【问题描述】:

我有一个使用 Python / Twisted Matrix 构建的应用程序,它使用来自 SOAP 客户端的方法来发送一些消息。问题是有时我想发送很多消息,而当这种情况发生时,我想在多个线程中进行。例如,如果我必须发送 100 条消息,我希望将其分成 20 条消息为一组,并创建 5 个线程来并行发送消息。

我应该寻找什么?有任何想法吗 ?我还希望线程能够报告收集到的数据

附:考虑到与 SOAP 客户端一起工作可能更像是一个等待的问题......你认为线程不是解决这个问题的最佳方法吗?肥皂客户端的回调可以用来创建某种发送者的“池”,并让发送者以某种方式在它们空闲时立即发送新的东西吗?想法?

【问题讨论】:

    标签: python twisted twisted.internet


    【解决方案1】:

    最好的方法可能是由您访问的 SOAP 服务和方法的分布来定义的。

    我的第一个建议是不要使用操作系统线程,而是使用带有inlineCallbacksdeferredSemaphoresmicro-threading 生成器协程。

    但您可能需要调整以重用同一服务器的连接和/或保留服务器 cookie。

    【讨论】:

    • inlineCallbacksDeferredSemaphore 不是“微线程”,它们是生成器协程;不完全一样。微线程看起来像常规线程(没有“yield”语句),但在后台提供更有效的线程切换。有关使用 Twisted 进行 I/O 的微线程系统,请参见 eventlet。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    相关资源
    最近更新 更多