Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
        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();
 }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        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);
            //}
        }