This commit is contained in:
dragonmuffin dragonmuffin 2025-05-05 14:44:26 +05:00
parent 7510c2a7b3
commit 73b2f7f3b5
10 changed files with 67 additions and 35 deletions

Binary file not shown.

View file

@ -1,5 +1,6 @@
#include "transport/transport.h"
#include "starter/starter.h"
#include "curl/curl.h"
void prepare_amqp_connection(int argc, char const *const *argv,struct connection_data *condata) {
int status;
@ -45,7 +46,27 @@ void prepare_amqp_connection(int argc, char const *const *argv,struct connection
amqp_assert(amqp_get_rpc_reply(condata->conn));
}
void download_file(char* uri, char* path) {
FILE* f = fopen(path, "w");
//fwrite("test", 4,1,f);
CURL *handle;
handle = curl_easy_init();
curl_easy_setopt(handle, CURLOPT_URL, uri);
curl_easy_setopt(handle, CURLOPT_WRITEDATA, f);
CURLcode code = curl_easy_perform(handle);
if(code==CURLE_OK) {
int response_code;
curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE, &response_code);
printf("response code:%d", response_code);
} else {puts("not success");}
sleep(1);
//puts(res);
curl_easy_cleanup(handle);
fclose(f);
}
int main(int argc, char const *const *argv) {
curl_global_init (CURL_GLOBAL_ALL);
struct connection_data condata;
prepare_amqp_connection(argc,argv,&condata);
@ -70,7 +91,20 @@ int main(int argc, char const *const *argv) {
switch(inst->instruction_case) {
case RUNNER__V1__INSTRUCTION__INSTRUCTION_BUILD:
puts("build request recieved");
printf("solution_id: %d\nbinding_key:%s\nlanguage:%d\nsolution:%s\n\n",inst->build->solution_id,inst->build->binding_key,inst->build->language,inst->build->solution);
printf("solution_id: %d\nbinding_key:%s\nlanguage:%d\nsolution uri:%s\nexecutable uri: %s\n\n",inst->build->solution_id,inst->build->binding_key,inst->build->language,inst->build->solution_uri, inst->build->executable_uri);
download_file(inst->build->solution_uri, "/home/dragonmuffin/ms-runner/runs/solution");
//struct limits limits;
//limits.memory = 10000000;
//limits.core = 2;
//limits.time = 3000;
//limits.processes = 1;
//struct params params;
//params.shared_folder = "/home/dragonmuffin/ms-runner/runs/";
//params.argv = (char*[]){"/bin/ls", "/", NULL};
//starter("/home/dragonmuffin/ms-runner/runs", "/home/dragonmuffin/ms-runner/starter", limits, params); // fix this
break;
case RUNNER__V1__INSTRUCTION__INSTRUCTION_RUN:
puts("run request recieved");