1
/* Gearman server and library
2
* Copyright (C) 2008 Brian Aker, Eric Day
5
* Use and distribution licensed under the BSD license. See
6
* the COPYING file in the parent directory for full text.
11
* @brief Server job declarations
14
#ifndef __GEARMAN_SERVER_JOB_H__
15
#define __GEARMAN_SERVER_JOB_H__
22
* @addtogroup gearman_server_job Server Job Handling
23
* @ingroup gearman_server
24
* This is a low level interface for gearman server jobs. This is used
25
* internally by the server interface, so you probably want to look there first.
30
* Add a new job to a server instance.
33
gearman_server_job_st *
34
gearman_server_job_add(gearman_server_st *server, const char *function_name,
35
size_t function_name_size, const char *unique,
36
size_t unique_size, const void *data, size_t data_size,
37
gearman_job_priority_t priority,
38
gearman_server_client_st *server_client,
39
gearman_return_t *ret_ptr);
42
* Initialize a server job structure.
45
gearman_server_job_st *
46
gearman_server_job_create(gearman_server_st *server,
47
gearman_server_job_st *server_job);
50
* Free a server job structure.
53
void gearman_server_job_free(gearman_server_job_st *server_job);
56
* Get a server job structure from the job handle.
59
gearman_server_job_st *gearman_server_job_get(gearman_server_st *server,
60
const char *job_handle);
63
* See if there are any jobs to be run for the server worker connection.
66
gearman_server_job_st *
67
gearman_server_job_peek(gearman_server_con_st *server_con);
70
* Start running a job for the server worker connection.
73
gearman_server_job_st *
74
gearman_server_job_take(gearman_server_con_st *server_con);
77
* Queue a job to be run.
80
gearman_return_t gearman_server_job_queue(gearman_server_job_st *server_job);
88
#endif /* __GEARMAN_SERVER_JOB_H__ */