-
Notifications
You must be signed in to change notification settings - Fork 50
/
settimeout.xml
142 lines (124 loc) · 3.39 KB
/
settimeout.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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: c68f82e0479de0db6012d979e23606ae97e92f16 Maintainer: tatai Status: ready -->
<refentry xml:id="gearmanworker.settimeout" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>GearmanWorker::setTimeout</refname>
<refpurpose>Establece un tiempo de espera máximo para actividad de entrada/salida del socket</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>bool</type><methodname>GearmanWorker::setTimeout</methodname>
<methodparam><type>int</type><parameter>timeout</parameter></methodparam>
</methodsynopsis>
<para>
Establece el intervalo de tiempo a esperar actividad de entrada/salida del socket.
Sets the interval of time to wait for socket I/O activity.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>timeout</parameter></term>
<listitem>
<para>
Un intervalo de tiempo en milisegundos. Un valor negativo indica un tiempo de espera infinito.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna siempre &true;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un trabajador sencillo con un tiempo de espera de 5 segundos</title>
<programlisting role="php">
<![CDATA[
<?php
echo "Empezando\n";
# Crea el objeto trabajador
$gmworker= new GearmanWorker();
# Añade el servidor por defecto (localhost).
$gmworker->addServer();
# Registra la función "reverse" en el servidor.
$gmworker->addFunction("reverse", "reverse_fn");
# Establece el tiempo de espera a 5 segundos
$gmworker->setTimeout(5000);
echo "Esperando trabajo...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
{
# Normalmente se espera hacer algo útil aquí...
echo "Timeout. Esperando al siguiente trabajo...\n";
continue;
}
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}
echo "Listo!\n";
function reverse_fn($job)
{
return strrev($job->workload());
}
?>
]]>
</programlisting>
<para>
Ejecutar el trabajador sin enviar trabajos genera una salida que es parecida a:
</para>
<screen>
<![CDATA[
Empezando
Esperando trabajo...
Timeout. Esperando al siguiente trabajo...
Timeout. Esperando al siguiente trabajo...
Timeout. Esperando al siguiente trabajo...
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>GearmanWorker::timeout</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
-->