问题标签 [gearman]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 线程与异步图像处理?
我有一个 Python 函数,一旦访问它就会生成一个图像。我可以根据 HTTP 请求直接调用它,也可以使用 Gearman 异步调用它。有很多要求。
哪种方式更好:
- 内联- 内联创建图像,将导致一次生成许多图像
- 异步- 排队作业(使用 Gearman)并在工作人员中生成图像
哪个选项更好?
在这种情况下,“更好”意味着最好的速度/负载组合。图像生成示例是象征性的,因为这也可以应用于数据库连接和其他事物。
python - Gearman + SQLAlchemy - 不断丢失 MySQL 线程
我有一个 python 脚本,它设置了几个齿轮工。他们在我拥有的 SQLAlchemy 模型上调用了一些方法,这些方法也被 Pylons 应用程序使用。
一两个小时一切正常,然后 MySQL 线程丢失,所有查询都失败。当我为 pool_recycle 定义如此低的值时,我无法弄清楚为什么线程会丢失(我在 3 个不同的服务器上得到相同的结果)。另外,为什么不创建新的连接?
有什么想法要调查吗?
php - sqlite 并发批量插入
我读到 sqlLite 更适合 SELECT 而不是插入,尤其是并发插入,因为它会锁定整个数据库文件,但我想知道你的最后一点:)。
所以我想知道我是否会因为这样的事情而陷入困境:
代码在齿轮工内部,所以我有不止一个实例。
提前致谢。
php - 有Gearman教程吗?
我正在寻找一个全面的 Gearman 教程(最好使用 PHP API)。我试图了解流程的流程。我设置守护进程运行,创建客户端和工作人员,但是如何使用 Gearman 处理它们(如添加/删除工作人员等)?
php - Gearman 和 PHP:工人发回失败的正确方法
PHP 文档对此有点模糊,所以我在这里问它。鉴于此工作人员代码:
通知客户发生的任何错误的正确方法是什么?返回假?使用 GearmanJob::sendFail()?如果是后者,我是否需要在调用 sendFail() 后从我的 doSomethingFunc() 返回?返回值应该是 sendFail() 返回的值吗?
客户端使用 GearmanClient::returnCode() 来检查失败。此外,简单地使用“return $value”似乎可行,但我应该使用 GearmanJob::sendData() 还是 GearmanJob::sendComplete() 代替?
python - 在作业处理期间更改 python-gearman 工作人员任务
我正在尝试更改 python-gearman 工人在其工作周期内可用的任务。我这样做的原因是允许我对我的工作进程进行一点控制,并允许它们从数据库中重新加载。我需要每个工作人员定期重新加载,但我不想简单地终止进程,我希望服务始终可用,这意味着我必须分批重新加载。所以我会让 4 名工人重新加载,而另外 4 名工人可以处理,然后重新加载接下来的 4 名工人。
过程:
- 开始重新加载过程 4 次。
- 注销
reload
进程 - 重新加载数据集
- 注册一个
finishReload
任务 - 返回
- 注销
- 重复步骤 1,直到没有
reload
注册任务的工作人员。 - 开始
finishReload
(1) 任务,直到没有finishReload
可用任务的工人。
(1)finishReload任务注销finishReload
任务并注册reload
任务然后返回。
现在,我遇到的问题是,当我更改工作进程可用的任务时,作业会失败。没有错误消息或异常,gearmand 日志中只有一个“错误”。这是一个复制问题的快速程序。
工人
客户
请让我知道是否有任何我可以解释的事情。
编辑:我知道有人会要求查看我提到的日志。我也将这个问题发布到了 Google 上的 gearman 组,并且那里有日志。
java - PHP-Java 互操作 - Gearman 还是 PJB?
从 PHP 调用 Java 的总体最佳选择是哪个?
还是完全不同的东西?我所说的“最好”是指易于使用、可靠、透明(用于调试目的)——整个玉米卷饼。
换句话说,这两种解决方案都有什么重大缺点吗?
编辑:这样做的原因是需要使用第 3 方 SOAP 服务的 PHP 站点。WSDL 中定义的类型层次对于任何纯 PHP 客户端来说似乎都太复杂了。
php - 不断运行的 Gearman 工人
我有一个进程,我希望能够通过随时启动 Gearman 客户端在后台运行。
通过打开到我的服务器的两个 SSH 连接,我找到了成功,其中一个启动工作程序,另一个然后运行客户端。这会产生所需的输出。
问题是,我想让一个工作人员在后台不断运行,这样我就可以在需要完成该过程时调用一个客户端。但是,一旦我关闭运行工作 PHP 文件的终端,对客户端的调用就不起作用 - 工作人员似乎死了。
有没有办法让工作人员在后台不断运行,所以调用一个新的客户端就可以工作而不必启动一个新的工作人员?
谢谢!
boost - 当 Yum 版本过时时如何更新 Boost
我正在尝试安装最新版本的 Gearman。但是,它一直给我错误:
检查 Boost Headers 版本 >= 1.37... 否
当我检查我的 Boost 版本(yum list installed | grep boost)时,所有版本都是 1.33。最新的 Boost 版本是 1.46,但似乎 CentOS 的存储库中没有这个版本。
有没有办法绕过 yum 将 Boost 更新到最新版本?
php - Gearman vs ZeroMQ
有人对这些引擎的分布式架构有一些反馈吗?哪个是最好的,或者在什么情况下哪个是最好的选举?
问候!