From a892d9a21fb321b82cb74cba2ec617a4edd7e2c9 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Tue, 4 Jul 2023 18:29:26 +0200 Subject: storage: requeue old runs from storage on startup --- src/server.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/server.c') diff --git a/src/server.c b/src/server.c index ee605c0..acc3756 100644 --- a/src/server.c +++ b/src/server.c @@ -339,21 +339,26 @@ int server_create(struct server **_server, const struct settings *settings) goto close_signalfd; worker_queue_create(&server->worker_queue); - run_queue_create(&server->run_queue); ret = storage_sqlite_settings_create(&storage_settings, settings->sqlite_path); if (ret < 0) - goto destroy_run_queue; + goto destroy_worker_queue; ret = storage_create(&server->storage, &storage_settings); storage_settings_destroy(&storage_settings); + if (ret < 0) + goto destroy_worker_queue; + + run_queue_create(&server->run_queue); + + ret = storage_get_run_queue(&server->storage, &server->run_queue); if (ret < 0) goto destroy_run_queue; ret = tcp_server_create(&server->tcp_server, settings->port, cmd_dispatcher_handle_conn, server->cmd_dispatcher); if (ret < 0) - goto destroy_storage; + goto destroy_run_queue; ret = tcp_server_add_to_event_loop(server->tcp_server, server->event_loop); if (ret < 0) @@ -371,12 +376,12 @@ int server_create(struct server **_server, const struct settings *settings) destroy_tcp_server: tcp_server_destroy(server->tcp_server); -destroy_storage: - storage_destroy(&server->storage); - destroy_run_queue: run_queue_destroy(&server->run_queue); + storage_destroy(&server->storage); + +destroy_worker_queue: worker_queue_destroy(&server->worker_queue); close_signalfd: -- cgit v1.3