首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP gearman连接错误

PHP gearman连接错误
EN

Stack Overflow用户
提问于 2017-02-26 04:02:17
回答 2查看 632关注 0票数 0

我尝试使用gearman在PHP中运行任务,我创建了两个脚本: client.php

代码语言:javascript
复制
<?
$mail = array(
  'to' => 'test@gmail.com',
  'subject' => Hi',
  'body' => 'Test message',
);


# Connect to Gearman server
$client = new GearmanClient();
$client->addServer('127.0.0.1', '4730');


# Send message
$client->doBackground('sendmail', json_encode($mail));

worker.php

代码语言:javascript
复制
<?php
$worker = new GearmanWorker();
$worker->addServer();

$worker->addFunction('sendmail', 'send_mail');

while (1)
{
  $worker->work();
  if ($worker->returnCode() != GEARMAN_SUCCESS) break;
}

function send_mail($job)
{
  $workload = $job->workload();
  $data = json_decode($workload, true);

  mail($data['to'], $data['subject'], $data['body']);
}

当我从命令行运行我的工作器时: php worker.php &

然后运行我的client.php文件,我得到以下错误:

GearmanClient::doBackground():send_packet(GEARMAN_COULD_NOT_CONNECT)无法发送服务器选项数据包-> libgearman/connection.cc:485

有什么需要帮忙的吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-06-02 01:38:00

试着改变这一点:

$client->addServer('127.0.0.1', '4730');

$client->addServer();

如果仍然不能工作,请尝试在php上查看此tutorialget started页面。它对我来说很好用

票数 0
EN

Stack Overflow用户

发布于 2021-08-17 07:36:40

您忘记通过运行gearmand -d来启动gearman

http://gearman.org/getting-started/的文档中了解更多关于它的信息

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42460968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档