import worker code
This commit is contained in:
parent
61654a06e8
commit
8831040043
64 changed files with 20853 additions and 1 deletions
97
src/worker/include/xcecd_db.h
Normal file
97
src/worker/include/xcecd_db.h
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
#ifndef _XCECD_DB_H
|
||||
#define _XCECD_DB_H
|
||||
|
||||
#include "sqlite3.h"
|
||||
#include "xcecd_worker_utils.h"
|
||||
#include "xcecd_utils.h"
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
|
||||
typedef struct sqlite3 xcecd_db_t;
|
||||
|
||||
/**
|
||||
* @brief Initialize the database
|
||||
*
|
||||
* @param db Pointer to the database structure
|
||||
* @param db_path Path to the database file
|
||||
* @return true if success, false if failed
|
||||
*/
|
||||
bool xcecd_db_init(xcecd_db_t** db,
|
||||
const char* db_path);
|
||||
|
||||
/**
|
||||
* @brief close the database
|
||||
* @param db Pointer to the database structure
|
||||
*/
|
||||
void xcecd_db_close(xcecd_db_t* db);
|
||||
|
||||
/**
|
||||
* @brief Insert a worker into the database
|
||||
*
|
||||
* @param db Pointer to the database structure
|
||||
* @param worker_pid PID of the worker
|
||||
* @param worker_status Status of the worker
|
||||
* @param job_id Job ID associated with the worker
|
||||
* @param job_status Status of the job associated with the worker
|
||||
* @return true if success, false if failed
|
||||
*/
|
||||
bool xcecd_db_insert_worker(xcecd_db_t* db,
|
||||
int worker_pid,
|
||||
int worker_status,
|
||||
uint64_t job_id,
|
||||
int job_status);
|
||||
|
||||
/**
|
||||
* @brief Update a worker in the database
|
||||
*
|
||||
* @param db Pointer to the database structure
|
||||
* @param worker_pid PID of the worker
|
||||
* @param worker_status Status of the worker
|
||||
* @param job_status Status of the job associated with the worker
|
||||
* @return true if success, false if failed
|
||||
*/
|
||||
bool xcecd_db_update_worker(sqlite3* db,
|
||||
int worker_pid,
|
||||
int worker_status,
|
||||
int job_status);
|
||||
|
||||
/**
|
||||
* @brief Delete a worker from the database
|
||||
*
|
||||
* @param db Pointer to the database structure
|
||||
* @param worker_pid PID of the worker
|
||||
* @return true if success, false if failed
|
||||
*/
|
||||
bool xcecd_db_delete_worker(xcecd_db_t* db,
|
||||
int worker_pid);
|
||||
|
||||
/**
|
||||
* @brief Get a worker from the database
|
||||
*
|
||||
* @param db Pointer to the database structure
|
||||
* @param worker_pid PID of the worker
|
||||
* @return worker status if success, -1 if failed
|
||||
*/
|
||||
int xcecd_db_get_worker(xcecd_db_t* db,
|
||||
int worker_pid);
|
||||
|
||||
/**
|
||||
* @brief Get running workers from the database
|
||||
*
|
||||
* @param db Pointer to the database structure
|
||||
* @return Pointer to the worker list (db->worker_list) if success, NULL if failed
|
||||
*/
|
||||
bool xcecd_db_get_running_workers(xcecd_db_t* db,
|
||||
xcecd_worker_t** worker_list);
|
||||
|
||||
/**
|
||||
* @brief Check if the database is available
|
||||
* @param db Pointer to the database structure
|
||||
* @param db_path Path to the database file
|
||||
* @return void and directly exit if the database is not available
|
||||
*/
|
||||
void xcecd_db_is_available(xcecd_db_t* db,
|
||||
const char* db_path);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue