forked from lei.chen/myxce
improve resmgr/jobmgr/qmgr/workermgr
This commit is contained in:
parent
2362b32825
commit
8d78f0cbeb
12 changed files with 161 additions and 575 deletions
|
|
@ -20,6 +20,18 @@ typedef struct {
|
|||
int nunshared;
|
||||
} resmgr_t;
|
||||
|
||||
typedef struct {
|
||||
kvmgr_t queues;
|
||||
} qmgr_t;
|
||||
|
||||
typedef struct {
|
||||
kvmgr_t jobs;
|
||||
} jobmgr_t;
|
||||
|
||||
typedef struct {
|
||||
kvmgr_t workers;
|
||||
} workermgr_t;
|
||||
|
||||
extern int kvmgr_init(kvmgr_t*, hash_key_fn_t, int, int, zarray_item_killer_t);
|
||||
extern void kvmgr_fini(kvmgr_t*);
|
||||
extern void* kvmgr_lock(kvmgr_t*, void*, int);
|
||||
|
|
@ -35,4 +47,20 @@ extern xce_resource_t* resmgr_lockres(resmgr_t*, char*, int);
|
|||
extern void resmgr_del_res(resmgr_t*, xce_resource_t*);
|
||||
extern int resmgr_iter(resmgr_t*, xlist_t*, void*);
|
||||
|
||||
extern void qmgr_fini(qmgr_t*);
|
||||
extern int qmgr_init(qmgr_t*, int, int, zarray_item_killer_t);
|
||||
extern int qmgr_add(qmgr_t*, queue_t*);
|
||||
extern queue_t* qmgr_lockq(qmgr_t*, char*, int);
|
||||
extern void qmgr_delq(qmgr_t*, queue_t*);
|
||||
extern int qmgr_iter(qmgr_t*, xlist_t*, void*);
|
||||
|
||||
extern int jobmgr_init(jobmgr_t*, int, int, zarray_item_killer_t);
|
||||
extern void jobmgr_fini(jobmgr_t*);
|
||||
extern int workermgr_init(workermgr_t*, int, int, zarray_item_killer_t);
|
||||
extern void workermgr_fini(workermgr_t*);
|
||||
extern int workermgr_add(workermgr_t*, worker_t*);
|
||||
extern worker_t* workermgr_lock(workermgr_t*, char*, int);
|
||||
extern worker_t* workermgr_lock_byid(workermgr_t*, int, int);
|
||||
extern void workermgr_del(workermgr_t*, worker_t*);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -11,12 +11,16 @@
|
|||
|
||||
#include "dataq.h"
|
||||
#include "mylock.h"
|
||||
#include "xce/types.h"
|
||||
|
||||
typedef int (*conn_handler_t)(struct epoll_event*);
|
||||
typedef int (*msg_handler_t)(void*);
|
||||
typedef int (*err_handler_t)(void*);
|
||||
|
||||
typedef struct {
|
||||
char* name;
|
||||
char* key;
|
||||
} xce_peerinfo_t;
|
||||
|
||||
#define IO_MON_INPUT (0x01)
|
||||
#define IO_MON_OUTPUT (0x02)
|
||||
|
||||
|
|
|
|||
|
|
@ -76,32 +76,6 @@ typedef struct {
|
|||
typedef struct {
|
||||
} metrics_t;
|
||||
|
||||
typedef struct {
|
||||
xce_queue_t queue;
|
||||
} queue_t;
|
||||
|
||||
typedef struct {
|
||||
xce_job_t job;
|
||||
} job_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
htab_t htab;
|
||||
zarray_t jobs;
|
||||
} jobmgr_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
htab_t htab;
|
||||
zarray_t workers;
|
||||
} workermgr_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
htab_t htab;
|
||||
zarray_t queues;
|
||||
} qmgr_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
endpoint_t* ep;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include "xlist.h"
|
||||
#include "zarray.h"
|
||||
#include "netio.h"
|
||||
|
||||
#define XCE_VAL_STRING (0)
|
||||
#define XCE_VAL_NUMERIC (1)
|
||||
|
|
@ -96,11 +97,6 @@ typedef struct {
|
|||
char** data;
|
||||
} xce_strlist_t;
|
||||
|
||||
typedef struct {
|
||||
char* name;
|
||||
char* key;
|
||||
} xce_peerinfo_t;
|
||||
|
||||
typedef struct {
|
||||
char* name;
|
||||
char* value;
|
||||
|
|
@ -267,6 +263,21 @@ typedef struct {
|
|||
int64_t duration;
|
||||
} xce_alloc_t;
|
||||
|
||||
typedef struct {
|
||||
uint64_t jobid;
|
||||
xce_alloc_t alloc;
|
||||
double used;
|
||||
} res_usage_t;
|
||||
|
||||
typedef struct {
|
||||
xce_worker_t host;
|
||||
char hostkey[XCE_MAXKEY_LEN];
|
||||
endpoint_t* ep;
|
||||
int idx;
|
||||
zarray_t usages;
|
||||
} worker_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
char* host;
|
||||
int nallocs;
|
||||
|
|
@ -431,6 +442,11 @@ typedef struct {
|
|||
xce_job_preason_t* pend_reasons;
|
||||
} xce_job_t;
|
||||
|
||||
typedef struct {
|
||||
xce_job_t job;
|
||||
} job_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int count;
|
||||
xce_job_t** data;
|
||||
|
|
@ -474,6 +490,10 @@ typedef struct {
|
|||
char* autopscaler;
|
||||
} xce_queue_t;
|
||||
|
||||
typedef struct {
|
||||
xce_queue_t queue;
|
||||
} queue_t;
|
||||
|
||||
typedef struct {
|
||||
int count;
|
||||
xce_queue_t** queues;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue