GEARMAN_CLIENT_DO_BACKGROUND(3)

NAME
gearman_client_do_background - Gearmand Documentation, https://gearman.org/gearmand/

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.

Job assignment priority is global across registered functions. A high priority job for any function is assigned before normal or low priority jobs for other functions.

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

gearman_return_t

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: https://gearman.org/gearmand/

SEE ALSO: gearmand(8) libgearman(3) gearman_strerror(3)

AUTHOR
Data Differential http://www.datadifferential.com/

COPYRIGHT
2011-2014, Data Differential, http://www.datadifferential.com/