PHP.mk документација

GearmanClient::doBackground

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

gearmanclient.dobackground.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека gearmanclient.dobackground.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
GearmanClient::doBackground

Референца за `gearmanclient.dobackground.php` со подобрена типографија и навигација.

gearmanclient.dobackground.php

GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackgroundRun a task in the background

= NULL

public GearmanClient::doBackground(string $function, string $workload, ?string $unique = null): string

Стартирај задача во позадина

Параметри

function
GearmanClient::do()
workload
Регистрирана функција што работникот треба да ја изврши
unique
Серијализирани податоци за обработка

Вратени вредности

Рачката за задачата за поднесената задача.

Примери

Стартува задача во позадина, враќајќи рачка за работа која може да се користи за добивање на статусот на задачата што се извршува.

Пример #1 Поднеси и следи задача во позадина

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if (
$gmclient->returnCode() != GEARMAN_SUCCESS)
{
echo
"bad return code\n";
exit;
}

$done = false;
do
{
sleep(3);
$stat = $gmclient->jobStatus($job_handle);
if (!
$stat[0]) // the job is known so it is not done
$done = true;
echo
"Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denominator: " . $stat[3] . "\n";
}
while(!
$done);

echo
"done!\n";

?>

Горниот пример ќе прикаже нешто слично на:

Running: true, numerator: 3, denominator: 14
Running: true, numerator: 6, denominator: 14
Running: true, numerator: 9, denominator: 14
Running: true, numerator: 12, denominator: 14
Running: false, numerator: 0, denominator: 0
done!

Види Исто така

Белешки од корисници 1 белешка

Работникот во овој пример има вештачко задоцнување воведено за да имитира долготрајна задача. Клиентската скрипта периодично ја проверува состојбата на задачата што се извршува.
пред 8 години
Behaviour of the unique ID argument:

If it's not provided, it defaults to a UUIDv1 (timestamp + mac address).

Otherwise, if a job with the same unique ID exists (i.e. is either queued or currently executing), then that job is used, not the one you're submitting. This does not apply to past (completed) jobs, and works across the entire job server pool, assuming no partitioning.

Or with code (the values in [brackets] are the server-assigned job identifiers):

<?php

$gearman->doBackground('sleep', '3', '123'); // [H:host:1] Starts sleep(3)
$gearman->doBackground('sleep', '5', '456'); // [H:host:2] Queues sleep(5)
$gearman->doBackground('sleep', '3', '123'); // [H:host:1] Does nothing
$gearman->doBackground('sleep', '1', '123'); // [H:host:1] Also does nothing (diff args don't trigger new jobs)

sleep (3);
// Job 123 [sleep(3)] has finished by now

$gearman->doBackground('sleep', '3', '123'); // [H:host:3] Starts a new job

?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.