From 317b093a0d1673b93081f5514adad8a33283e33a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 5 Feb 2025 09:34:41 +0000 Subject: [PATCH] job: Handle message to abort a build job Signed-off-by: Michael Tremer --- src/pakfire/job.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/pakfire/job.c b/src/pakfire/job.c index 2505c1a6..73693768 100644 --- a/src/pakfire/job.c +++ b/src/pakfire/job.c @@ -977,9 +977,26 @@ int pakfire_job_terminate(struct pakfire_job* job, int signal) { } int pakfire_job_handle_message(struct pakfire_job* self, struct json_object* message) { + const char* command = NULL; + int r; + DEBUG(self->ctx, "Message received for job %s\n", self->id); - return 0; // XXX TODO + // Fetch the command + r = pakfire_json_get_string(message, "command", &command); + if (r < 0) { + ERROR(self->ctx, "Malformed job message does not contain a command\n"); + return r; + } + + // Abort job + if (pakfire_string_equals(command, "abort")) + return pakfire_job_terminate(self, SIGTERM); + + // Log an error if we have received an unknown command + ERROR(self->ctx, "Unhandled command for job %s: %s\n", self->id, command); + + return 0; } #endif /* CURL_HAS_WEBSOCKETS */ -- 2.47.3