-
Notifications
You must be signed in to change notification settings - Fork 49
/
addfunction.xml
155 lines (139 loc) · 4.04 KB
/
addfunction.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d52ee4d57cde34d443cac2ff2850ae14f1798059 Maintainer: yago Status: ready -->
<!-- Reviewed: no Maintainer: tatai -->
<refentry xml:id="gearmanworker.addfunction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>GearmanWorker::addFunction</refname>
<refpurpose>Registra y añade una función de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>bool</type><methodname>GearmanWorker::addFunction</methodname>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
<methodparam><type>callable</type><parameter>function</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter role="reference">context</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>timeout</parameter></methodparam>
</methodsynopsis>
<para>
Registra el nombre de una función en el servidor de trabajos y especifica la llamada de retorno
quer corresponde a esa función. Opcionalmente se puede especificar datos extra del contexto
de aplicación para que sean usados cuando se realiza la llamada a la función de retorno o expira
el tiempo máximo permitido.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>function_name</parameter></term>
<listitem>
<para>
Nombre de la función a registrar en el servidor de trabajos
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>function</parameter></term>
<listitem>
<para>
Función de retorno a llamar cuando el trabajo para el nombre de función registrado es enviado
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
Referencia a datos de contexto de la aplicación que pueden ser modificados por la
la función del trabajador
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>timeout</parameter></term>
<listitem>
<para>
Intervalo de tiempo en segundos
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Sencillo trabajador que usa los datos de contexto de aplicación</title>
<programlisting role="php">
<![CDATA[
<?php
# obtiene un trabajador gearman
$worker= new GearmanWorker();
# añade el servidor por defecto (localhost)
$worker->addServer();
# define una variable en la que mantener los datos de aplicación
$count= 0;
# añade la función "reverse"
$worker->addFunction("reverse", "reverse_cb", $count);
# inicia el trabajador
while ($worker->work());
function reverse_cb($job, &$count)
{
$count++;
return "$count: " . strrev($job->workload());
}
?>
]]>
</programlisting>
<para>
Ejecutando un cliente que envía dos trabajos para la función "reverse", tendrá
un resultado similar a este:
</para>
<screen>
<![CDATA[
1: olleh
2: dlrow
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>GearmanClient::do</methodname></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->