public void Aria2_remote() { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "On Remote...", EventLogEntryType.Information); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "idle Flag : " + idle_flag, EventLogEntryType.Information); idle_flag = false; Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "idle Flag : " + idle_flag, EventLogEntryType.Information); secondsElapsed += 10; //TODO: Check System Updation int server_status = Server_Utils.Check_system_status(Aria2_Client_Constants.EVENT_SOURCE, CONFIGURATION_URL); if (server_status == 1) { Update_host(); Update_tasks(); Get_Tasks(); } else if (server_status == -1) { Stop_Aria2(aria2c_process_id); } idle_flag = true; Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "idle Flag : " + idle_flag, EventLogEntryType.Information); }
public override int Start_Aria2() { //TODO : Check Internet Connectivity //startInfo.FileName = @"C:\Programs\aria2-1.33.1-win-64bit-build1\aria2c.exe"; //string arguments = @"--conf-path C:\Programs\aria2_repository\aria2.conf --log=C:\Programs\aria2_repository\aria2_rpc.log";s string arguments = @"--conf-path " + ConfigurationManager.AppSettings["aria2_repository"] + "\\" + ARIA2_CONFIG_FILE + " --log=" + ConfigurationManager.AppSettings["aria2_repository"] + "\\" + ARIA2_RPC_LOG_FILE; //Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Aria2 arguments : " + arguments, EventLogEntryType.Information); aria2c_process_id = Process_Utils.Start_with_arguments(Aria2_Client_Constants.EVENT_SOURCE, @ConfigurationManager.AppSettings["aria2_HOME"] + "\\" + ARIA2_EXE, arguments); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Timer Pointing..", EventLogEntryType.Information); // point the timer elapsed to the handler timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Timer Enabling...", EventLogEntryType.Information); // turn on the timer timer.Enabled = true; Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Timer Enabled...", EventLogEntryType.Information); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Aria2 ID : " + aria2c_process_id, EventLogEntryType.Information); return(aria2c_process_id); }
private void Update_host() { //TODO : Update Drive free spaces Dictionary <string, string> data_items = new Dictionary <string, string>() { { "name", Environment.MachineName } }; var response = Network_Utils.Post_Request(UPDATE_HOST_URL, data_items); if (response.StatusCode == HttpStatusCode.OK) { var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); //Log_Utils.Add_system_event_and_log("aria2c_rpc", "Host update response : " + responseString, EventLogEntryType.Information); int error_status = Network_Utils.Check_error(Aria2_Client_Constants.EVENT_SOURCE, JObject.Parse(responseString)); if (error_status == 0) { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Host updated successfully", EventLogEntryType.Information); } else if (error_status == 2) { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Check response, response : " + response, EventLogEntryType.Information); } } }
private void Timer_Elapsed(object sender, ElapsedEventArgs e) { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Timer Elapsed...", EventLogEntryType.Information); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "idle Flag : " + idle_flag, EventLogEntryType.Information); if (idle_flag) { Aria2_remote(); } }
protected override void OnStart(string[] args) { Log_Utils.Add_system_event_and_log(Aria2_Remote_Service_Constants.EVENT_SOURCE, "Starting...", EventLogEntryType.Information); aria2c_process_id = aria2_client_interface.Start_client(); }
private void Get_Tasks() { //Console.WriteLine(Environment.MachineName + " Sync. Started..."); //Console.WriteLine(API_Wrapper.get_API(API_Wrapper.SELECT_TASKS)); //var get_response = http_client.Get(API_Wrapper.get_API(API_Wrapper.SELECT_TASKS), new { host = Environment.MachineName }); //Console.WriteLine("New Tasks : " + get_response.RawText); //Console.ReadKey(); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, Environment.MachineName + " Sync. Started...", EventLogEntryType.Information); var response = Network_Utils.Get_Request(Network_Utils.Get_parametered_URL(API_Wrapper.get_API(Aria2_Remote_API_Constants.SELECT_TASKS), new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("host", Environment.MachineName) })); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "New Tasks Response : " + response.ToString(), EventLogEntryType.Information); //TODO : Add No Entry on Error Check JArray array = JArray.Parse(response); if ((Int32)JObject.Parse(array[0].ToString())["error_status"] == 1) { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Error : " + array[0]["error"] + " - " + array[0]["error_number"], EventLogEntryType.Information); } else if ((Int32)JObject.Parse(array[0].ToString())["error_status"] == 2) { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "No Tasks", EventLogEntryType.Information); Console.WriteLine(""); } else if ((Int32)JObject.Parse(array[0].ToString())["error_status"] == 0) { //List<Task> tasks = new List<Task>(); //for (int i = 1; i < array.Count; i++) //{ // JObject json_Task = JObject.Parse(array[i].ToString()); // Task current_task = new Task(); // current_task.id = (String)json_Task["id"]; // current_task.url = (String)json_Task["url"]; // tasks.Add(current_task); // Console.WriteLine("ID : " + current_task.id + ", Task : " + current_task.url); // Console.WriteLine("Request : " + Create_json_request_addUri(current_task.url, current_task.id)); // //Console.ReadKey(); // var add_response = webClient.UploadString("http://localhost:6800/jsonrpc", "POST", Create_json_request_addUri(current_task.url, current_task.id)); // Console.WriteLine("Task Addition Response : " + add_response); // //Console.ReadKey(); // JObject json_object = JObject.Parse(add_response); // Update_task_gid(current_task.id, json_object["result"].ToString()); //} array.RemoveAt(0); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "New Tasks : " + array.ToString(), EventLogEntryType.Information); //// serialize JSON results into .NET objects IList <Aria2_Remote_Task> aria2_tasks = new List <Aria2_Remote_Task>(); aria2_tasks = array.ToObject <List <Aria2_Remote_Task> >(); foreach (Aria2_Remote_Task task in aria2_tasks) { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "ID : " + task.id + ", Task : " + task.url, EventLogEntryType.Information); Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Add Uri Response : " + Methods.Add_Uri(task.url, ARIA2_HOST, ARIA2_PORT, ARIA2_JSON_RPC_FILE_NAME, ARIA2_ACCESS_PROTOCOL), EventLogEntryType.Information); } //return aria2_tasks; } else { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Check response, response : " + response, EventLogEntryType.Information); } }
private void Update_tasks() { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, Environment.MachineName + " Updating task status...", EventLogEntryType.Information); IList <Aria2_RPC_Task> aria2_rpc_tasks = Methods.get_tasks(ARIA2_HOST, ARIA2_PORT, ARIA2_JSON_RPC_FILE_NAME, ARIA2_ACCESS_PROTOCOL); foreach (Aria2_RPC_Task aria2_task in aria2_rpc_tasks) { Log_Utils.Add_system_event_and_log(Aria2_Client_Constants.EVENT_SOURCE, "Task URL : " + aria2_task.files[0].uris[0].uri, EventLogEntryType.Information); } //var get_response = Network_Utils.Get_Request(Network_Utils.Get_parametered_URL(API_Wrapper.get_API(API_Constants.SELECT_TASKS), new List<KeyValuePair<string, string>> //{ // new KeyValuePair<string, string>("host", Environment.MachineName) //})); //Log_Utils.Add_system_event_and_log(Aria2_Service_Constants.event_source, "Existing Tasks : " + get_response, EventLogEntryType.Information); //JArray array = JArray.Parse(get_response); //if ((Int32)JObject.Parse(array[0].ToString())["error_status"] == 1) //{ // Log_Utils.Add_system_event_and_log("aria2c_rpc", "Error : " + JObject.Parse(array[0].ToString())["error"] + " - " + JObject.Parse(array[0].ToString())["error_number"], EventLogEntryType.Information); //} //else if ((Int32)JObject.Parse(array[0].ToString())["error_status"] == 2) //{ // Log_Utils.Add_system_event_and_log("aria2c_rpc", "No Tasks", EventLogEntryType.Information); //} //else if ((Int32)JObject.Parse(array[0].ToString())["error_status"] == 0) //{ // List<Task> tasks = new List<Task>(); // for (int i = 1; i < array.Count; i++) // { // JObject json_Task = JObject.Parse(array[i].ToString()); // Task current_task = new Task // { // id = (String)json_Task["id"], // gid = (String)json_Task["gid"] // }; // tasks.Add(current_task); // Log_Utils.Add_system_event_and_log("aria2c_rpc", "ID : " + current_task.id + ", gid : " + current_task.gid, EventLogEntryType.Information); // Log_Utils.Add_system_event_and_log("aria2c_rpc", "Request : " + Create_json_request_tellStatus(current_task.gid, current_task.id), EventLogEntryType.Information); // try // { // var status_response = webClient.UploadString("http://localhost:6800/jsonrpc", "POST", Create_json_request_tellStatus(current_task.gid, current_task.id)); // Log_Utils.Add_system_event_and_log("aria2c_rpc", "Task tellStatus Response : " + status_response, EventLogEntryType.Information); // JObject json_object = JObject.Parse(status_response); // Update_task_current_status(current_task.id, json_object.ToString()); // } // catch (Exception e) // { // Log_Utils.Add_system_event_and_log("aria2c_rpc", "Task exception : " + e.ToString(), EventLogEntryType.Information); // } // } //} //else //{ // Log_Utils.Add_system_event_and_log("aria2c_rpc", "Check response, response : " + get_response, EventLogEntryType.Information); //} }