Gearmand documentation, http://gearman.info/
#include <libgearman/gearman.h>
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)
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.
gearman_return_t
/* # 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; }
To find out more information please check: http://gearman.info/
Data Differential http://www.datadifferential.com/
2011-2013, Data Differential, http://www.datadifferential.com/