【问题标题】:Sharing curl handler among gearman workers在齿轮工之间共享 curl 处理程序
【发布时间】:2013-02-12 00:36:15
【问题描述】:

我有一个 gearman worker(称为“manager”),它读取一个 url 列表,然后为它们中的每一个调用另一个 gearman worker(称为“dependent”),它获取传递的 url 的内容并做一些工作就可以了 - 索引,等等。每个 url 属于同一个域(例如:www.test.com)。当每个工作人员拨打curl_init() 时,都会与 www.test.com 建立新连接。

我正在寻找一种方法来在工作人员之间共享 curl 的资源处理程序,以便重用相同的连接。在我的例子中,manager 可以创建资源处理程序,然后将其作为工作负载参数传递给 dependents

【问题讨论】:

    标签: php curl gearman


    【解决方案1】:

    您可以使用共享内存来存储带有信号量函数的变量http://www.php.net/manual/en/book.sem.php

    或者您可以使用 APC,并将缓存的变量转储到文件中。但我不确定它会如何工作。

    【讨论】:

    • 当然,如果你的worker放在不同的服务器上就不行了
    • 我可以使用集中式redis存储吗? Redis 可以包含以下内容:
    • 有什么用?为什么要共享 cURL 资源而不是创建新资源?
    猜你喜欢
    • 2016-10-28
    • 2017-06-12
    • 2015-04-14
    • 2015-08-16
    • 1970-01-01
    • 2020-07-03
    • 2016-06-04
    • 1970-01-01
    相关资源
    最近更新 更多