update controller code

This commit is contained in:
Rongsong Shen 2025-11-05 16:58:57 +08:00
parent 2836d196da
commit 41f56fa6ed
54 changed files with 9688 additions and 214 deletions

31
src/include/myconf.h Normal file
View file

@ -0,0 +1,31 @@
#if !defined(_MYCONF_H_)
#define _MYCONF_H_ 1
#define MAX_MASTER_CANDIDATES (64)
#include <tlog.h>
#include "clusterconfig.h"
struct logging {
char* logdir;
char* loglevel;
};
typedef struct {
struct logging* logging;
} initial_config_t;
typedef struct {
initial_config_t* init_config;
cluster_config_t* cluster_config;
char* conffile;
} myconf_t;
extern cluster_config_t* get_default_conf(void*);
extern int add_config(void*, char*, char*);
extern int load_initial_config(char*, initial_config_t**, int);
extern void free_initial_config(initial_config_t*);
#endif

View file

@ -4,6 +4,6 @@
#include "xce/types.h"
job_pidinfo_t *new_job_pidinfo(job_pidinfo_t *);
job_pidinfo_t* new_job_pidinfo(job_pidinfo_t*);
#endif

View file

@ -77,6 +77,6 @@ extern int extract_data(dataset_t*, xce_data_t*);
extern int xce_update_req(ioctx_t*, xce_update_data_t*);
extern int xce_jobctrl_req(ioctx_t*, xce_jobctrl_t*);
extern int xce_queuectrl_req(ioctx_t*, xce_queuectrl_t*);
extern int xce_runtask_req(ioctx_t* , xce_taskrun_t *) ;
extern int xce_runtask_req(ioctx_t*, xce_taskrun_t*);
#endif

View file

@ -6,8 +6,8 @@
#include <capnp_c.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
#include <tlog.h>
#include "controller.capnp.h"

View file

@ -55,7 +55,7 @@ extern int vtask_enq(vtaskmgr_t*, vtask_t*);
extern int vtaskmgr_init(vtaskmgr_t*, int);
extern int vtaskmgr_start(vtaskmgr_t*);
extern void vtaskmgr_fini(vtaskmgr_t*);
extern void vtaskmgr_wait(vtaskmgr_t *);
extern void vtaskmgr_wakeup(vtaskmgr_t *);
extern void vtaskmgr_wait(vtaskmgr_t*);
extern void vtaskmgr_wakeup(vtaskmgr_t*);
#endif

View file

@ -26,7 +26,6 @@ enum {
XCE_CONTROLLER_HOOK_SCHEDULER,
XCE_CONTROLLER_HOOK_CLUSTER,
XCE_CONTROLLER_HOOK_RESOURCE,
XCE_CONTROLLER_HOOK_CTRL_REQ,
XCE_CONTROLLER_HOOK_QUEUE,
XCE_CONTROLLER_HOOK_USERGROUP,
XCE_CONTROLLER_HOOK_HOSTGROUP,
@ -46,12 +45,9 @@ enum {
HOOK_DETAIL_SCHEDULER_JOIN,
HOOK_DETAIL_SCHEDULER_DEAD,
HOOK_DETAIL_CLUSTER_INIT,
HOOK_DETAIL_DB_INIT,
HOOK_DETAIL_CLUSTER_SHUTDOWN,
HOOK_DETAIL_DB_SHUTDOWN,
HOOK_DETAIL_RESOURCE_UPDATE,
HOOK_DETAIL_RESOURCE_LOC_UPDATE,
HOOK_DETAIL_CTRL_REQ_FINISH,
HOOK_DETAIL_QUEUE_UPDATE,
HOOK_DETAIL_USERGROUP_UPDATE,
HOOK_DETAIL_HOSTGROUP_UPDATE
@ -116,27 +112,6 @@ typedef struct {
endpoint_t* ep;
} scheduler_t;
typedef struct {
DBPool* db_pool;
DBHandle* db_handle;
pthread_t fetch_thread;
int64_t fetch_job_pos;
int fetch_job_interval;
int running;
mylock_t db_lock;
} db_ctx_t;
typedef struct {
pthread_t thread;
int runing;
int interval;
} ctrlreq_ctx_t;
typedef struct {
mylock_t lock;
ctrlreq_ctx_t ctrlreq_ctx;
} ctrl_req_mgr_t;
typedef struct {
myconf_t* myconf;
xce_peerinfo_t* myhost;
@ -161,8 +136,6 @@ typedef struct {
vtaskmgr_t vtaskmgr;
cbuf_t wbuf;
int running;
db_ctx_t dbctx;
ctrl_req_mgr_t ctrl_req_mgr;
} cluster_t;
#endif /* XCE_CLUSTER_DEF_H */

View file

@ -3,10 +3,10 @@
#define __XCE_ERRNOX_H__ 1
#include <errno.h>
#include <string.h>
#include <stddef.h>
#include <string.h>
#define XCE_ERRNO_BASE (10001)
#define XCE_ERRNO_BASE (10001)
enum {
E_XCE_BAD_JOB = XCE_ERRNO_BASE,
@ -21,6 +21,5 @@ enum {
E_XCE_INTERNAL,
E_XCE_MAX
};
#endif

View file

@ -10,16 +10,16 @@ typedef struct {
} xstring_typedata_t;
#define XSTRING_OBJ_TYPE_HTAB(obj) \
(((xstring_typedata_t *)obj->type->typedata)->tab)
(((xstring_typedata_t*)obj->type->typedata)->tab)
#define XSTRING_OBJ_TYPE_STRINGS(obj) \
(((xstring_typedata_t *)obj->type->typedata)->strings)
(((xstring_typedata_t*)obj->type->typedata)->strings)
#define XSTRING_TYPE_HTAB(type) \
(((xstring_typedata_t *)type->typedata)->tab)
(((xstring_typedata_t*)type->typedata)->tab)
#define XSTRING_TYPE_STRINGS(type) \
(((xstring_typedata_t *)type->typedata)->strings)
(((xstring_typedata_t*)type->typedata)->strings)
extern int register_xstring(objmgr_t*, int,int);
extern int register_xstring(objmgr_t*, int, int);
#endif