Issuing a single background task¶
SYNOPSIS¶
#include <libgearman/gearman.h>
-
type gearman_priority_t¶
-
gearman_return_t gearman_client_do_background(gearman_client_st *client, const char *function_name, const char *unique, const void *workload, size_t workload_size, char *job_handle)¶
Changed in version 0.21: GEARMAN_PAUSE
will no longer be returned. A do operation will now run until it has been submitted.
-
gearman_return_t gearman_client_do_high_background(gearman_client_st *client, const char *function_name, const char *unique, const void *workload, size_t workload_size, gearman_job_handle_t job_handle)¶
-
gearman_return_t gearman_client_do_low_background(gearman_client_st *client, const char *function_name, const char *unique, const void *workload, size_t workload_size, gearman_job_handle_t job_handle)¶
DESCRIPTION¶
gearman_client_do_background()
executes a single request to the
gearmand server and returns the status via gearman_return_t
.
gearman_client_add_task_high_background()
and gearman_client_add_task_low_background()
are identical to
gearman_client_do_background()
, only they set the gearman_priority_t
to either high or low.
If job_handle is not NULL, it will be populated with the name of the job_handle
for the task created. The job handle needs to be the size of
GEARMAN_JOB_HANDLE_SIZE
. Please see gearman_job_handle_t
for more information.
RETURN VALUE¶
Example¶
/*
# Gearman server and library
# Copyright (C) 2012 Data Differential, http://datadifferential.com/
# All rights reserved.
#
# Use and distribution licensed under the BSD license. See
# the COPYING file in this directory for full text.
*/
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <libgearman-1.0/gearman.h>
int main(void)
{
gearman_client_st *client= gearman_client_create(NULL);
gearman_return_t ret= gearman_client_add_server(client, "localhost", 0);
if (gearman_failed(ret))
{
return EXIT_FAILURE;
}
gearman_job_handle_t job_handle;
gearman_return_t rc= gearman_client_do_background(client,
"reverse_function",
"unique_value",
"my string to reverse", strlen("my string to reverse"),
job_handle);
if (gearman_success(rc))
{
// Make use of value
printf("%s\n", job_handle);
}
gearman_client_free(client);
return 0;
}
HOME¶
To find out more information please check: http://gearman.info/
See also
gearmand(8) libgearman(3) gearman_strerror(3)