gearman_client_add_task_background.rst 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. =========================
  2. Creating background tasks
  3. =========================
  4. --------
  5. SYNOPSIS
  6. --------
  7. #include <libgearman/gearman.h>
  8. .. c:function:: gearman_task_st *gearman_client_add_task_background(gearman_client_st *client, gearman_task_st *task, void *context, const char *function_name, const char *unique, const void *workload, size_t workload_size, gearman_return_t *ret_ptr)
  9. .. c:function:: gearman_task_st *gearman_client_add_task_high_background(gearman_client_st *client, gearman_task_st *task, void *context, const char *function_name, const char *unique, const void *workload, size_t workload_size, gearman_return_t *ret_ptr)
  10. .. c:function:: gearman_task_st *gearman_client_add_task_low_background(gearman_client_st *client, gearman_task_st *task, void *context, const char *function_name, const char *unique, const void *workload, size_t workload_size, gearman_return_t *ret_ptr)
  11. Link with -lgearman
  12. -----------
  13. DESCRIPTION
  14. -----------
  15. :c:func:`gearman_client_add_task_background` creates a background task and adds it ito the given :c:type:`gearman_client_st`. Execution of the task does not begin until :c:func:`gearman_client_run_tasks` is called.
  16. If the unique value is not set, then a unique will be assigned.
  17. :c:func:`gearman_client_add_task_high_background` and :c:func:`gearman_client_add_task_low_background` are
  18. identical to :c:func:`gearman_client_do`, only they set the priority to
  19. either high or low.
  20. .. warning::
  21. You may wish to avoid using :c:func:`gearman_client_add_task_background` with a stack based allocated
  22. :c:type:`gearman_task_st`. The most common issues related to ABI safety involve stack allocated structures. If you use a stack based
  23. :c:type:`gearman_task_st` you must free it with :c:func:`gearman_task_free`.
  24. ------------
  25. RETURN VALUE
  26. ------------
  27. The :c:type:`gearman_task_st` is created and a pointer to it is returned. On error NULL is returned and ret_ptr is set with a :c:type:`gearman_return_t`.
  28. ----
  29. HOME
  30. ----
  31. To find out more information please check:
  32. `https://gearman.org/gearmand/ <https://gearman.org/gearmand/>`_
  33. .. seealso::
  34. :manpage:`gearmand(8)` :manpage:`libgearman(3)` :manpage:`gearman_task_st`