GEARMAN_CLIENT_DO_BACKGROUND(3)

πŸ’… NAME πŸ’…

okay bestie, gather round, because this one is gearman_client_do_background β€” and it's literally the entire Gearmand Documentation situation, which lives at http://gearman.info/. no cap. πŸ¦‹


✨ SYNOPSIS ✨

so first you gotta let the compiler know what's up:

#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. she doesn't pause anymore, she commits. πŸ’€

and then the two glow-up variants, same energy, different priority:

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. one request, one vibe, one return value. she's efficient like that. ✨

now, gearman_client_add_task_high_background() and gearman_client_add_task_low_background() are identical to gearman_client_do_background() β€” literally twins β€” only they set the gearman_priority_t to either high or low. that's the whole difference. that's it. that's the tweet. 🫢

and if job_handle is not NULL, it will be populated with the name of the job_handle for the task created. important detail bestie: the job handle needs to be the size of GEARMAN_JOB_HANDLE_SIZE. please give it enough room to breathe. πŸ’– for more info, go peek at gearman_job_handle_t.


⭐ RETURN VALUE ⭐

gearman_return_t β€” yeah that's it, that's the return value, she returns a return type. iconic.


πŸŽ€ EXAMPLE πŸŽ€

here's a whole little program, written out exactly, so you can copy it and feel like a main character:

/*
# 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:


πŸ‘‘ Author πŸ‘‘

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

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


okay that's the whole page, you ate, no crumbs left. πŸ’…βœ¨ this was GEARMAN_CLIENT_DO_BACKGROUND(3) from the Gearmand manual, version 1.1.21+ds, dated Feb 04, 2026 β€” mwah, go submit some background jobs bestie πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from