【发布时间】:2016-09-19 03:15:17
【问题描述】:
以下代码摘自一个 pheanstalk 正在实现并正常工作的示例(从 pheanstalk 的 github 页面获得:https://github.com/pda/pheanstalk):
<?php
require_once("vendor/autoload.php");
use Pheanstalk\Pheanstalk;
$pheanstalk = new Pheanstalk('127.0.0.1');
// ------------ producer (queues jobs):
$pheanstalk
->useTube('testtube')
->put("job payload goes here\n");
// ------------ worker (performs jobs):
$job = $pheanstalk
->watch('testtube')
->ignore('default')
->reserve();
echo $job->getData();
$pheanstalk->delete($job);
// ------------ check server availability
$pheanstalk->getConnection()->isServiceListening(); // true or false
问题:
我不明白的是以下部分:
-
我假设
producer代码中的换行符对执行没有任何影响,所以这一行是等效的:$pheanstalk->useTube('testtube')->put("job payload goes here\n");
正确吗?如果这是真的,那么这些特定的函数调用是否必须按该顺序排列,或者它们可以按任何顺序排列?我之前对 php 中的函数和类的理解是,您可以直接从其类类型的对象中调用函数:$object->classFunction(),但是上面的代码是一种有效的 php 技术,您可以同时调用所有这些函数还是什么尤其是野鸡?
ignore('default')代码在做什么?$pheanstalk->getConnection()->isServiceListening();代码在做什么?
【问题讨论】:
标签: php beanstalkd pheanstalk