-
Notifications
You must be signed in to change notification settings - Fork 724
/
addtaskhigh.xml
163 lines (150 loc) · 4.71 KB
/
addtaskhigh.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
155
156
157
158
159
160
161
162
163
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="gearmanclient.addtaskhigh" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>GearmanClient::addTaskHigh</refname>
<refpurpose>Add a high priority task to run in parallel</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="GearmanClient">
<modifier>public</modifier> <type class="union"><type>GearmanTask</type><type>false</type></type><methodname>GearmanClient::addTaskHigh</methodname>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
<methodparam><type class="union"><type>string</type><type>int</type><type>float</type></type><parameter>workload</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>context</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>unique_key</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Adds a high priority task to be run in parallel with other tasks. Call this method for all
the high priority tasks to be run in parallel, then call
<methodname>GearmanClient::runTasks</methodname> to perform the work. Tasks with a high
priority will be selected from the queue before those of normal or low priority.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>function_name</parameter></term>
<listitem>
<para>
&gearman.parameter.functionname;
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>workload</parameter></term>
<listitem>
<para>
&gearman.parameter.workload;
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
&gearman.parameter.context;
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>unique_key</parameter></term>
<listitem>
<para>
&gearman.parameter.unique;
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
A <classname>GearmanTask</classname> object or &false; if the task could not be added.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A high priority task along with two normal tasks</title>
<para>
A high priority task is included among two other tasks. A single worker
is available, so that tasks are run one at a time, with the high priority
task run first.
</para>
<programlisting role="php">
<![CDATA[
<?php
# create the gearman client
$gmc= new GearmanClient();
# add the default job server
$gmc->addServer();
# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");
# add tasks, one of which is high priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskHigh("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");
if (! $gmc->runTasks())
{
echo "ERROR " . $gmc->error() . "\n";
exit;
}
echo "DONE\n";
function reverse_complete($task)
{
echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
COMPLETE: 2, Hello World!
COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
DONE
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>GearmanClient::addTask</methodname></member>
<member><methodname>GearmanClient::addTaskLow</methodname></member>
<member><methodname>GearmanClient::addTaskBackground</methodname></member>
<member><methodname>GearmanClient::addTaskHighBackground</methodname></member>
<member><methodname>GearmanClient::addTaskLowBackground</methodname></member>
<member><methodname>GearmanClient::runTasks</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
-->