private void WorkerFunction() { // start an endless loop; loop will abort only when "serviceStarted" flag = false while (true) { try { tick++; CreateFileData("Events.txt", "tick: " + tick.ToString() + " Date : " + DateTime.Now.ToString()); CreateFileData("Events.txt", "avant requete : ok"); TASK_Service taskService = new TASK_Service(); TASK task = taskService.GetLastTaskToConvert(); if (task != null) { CreateFileData("Events.txt", "tache trouvée : " + task.PK_ID_TASK.ToString()); lock (_lockObject) { CreateFileData("Events.txt", "tache not null et lock : ok"); task.DATE_BEGIN_CONVERSION = DateTime.Now; taskService.UpdateTask(task); new TRACE_Service().AddTrace(new TRACE() { FK_ID_TASK = task.PK_ID_TASK, FK_ID_SERVER = 1, DATE_TRACE = DateTime.Now, NOM_SERVER = System.Environment.MachineName, METHOD = "INITIALISATION TASK", DESCRIPTION = "Récupération de la tache à effectuer" }); TranscoderService.DoFFmpegConversion(task); } } } catch (Exception f) { string path = ConfigurationManager.AppSettings["TranscoderRootServiceForLogs"] + "Exception.txt"; StreamWriter oStreamWriter = new StreamWriter(path, true); oStreamWriter.WriteLine("DATE : " + DateTime.Now.ToString()); oStreamWriter.WriteLine(f.Message); oStreamWriter.WriteLine(f.InnerException); oStreamWriter.WriteLine(f.StackTrace); oStreamWriter.Close(); oStreamWriter = null; serviceStarted = false; } Thread.Sleep(5000); serviceStarted = true; } // time to end the thread // Thread.CurrentThread.Abort(); }
public void StartDebug() { while (true) { try { CreateFileData("Events.txt", "avant requete : ok"); TASK_Service taskService = new TASK_Service(); TASK task = taskService.GetListOfTaskByStatusToDoOrToMerge().FirstOrDefault(); CreateFileData("Events.txt", "tache trouvée : " + task.PK_ID_TASK.ToString()); lock (_lockObject) { CreateFileData("Events.txt", "lock : ok"); if (task != null) { CreateFileData("Events.txt", "tache not null : ok"); task.DATE_BEGIN_CONVERSION = DateTime.Now; taskService.UpdateTask(task); new TRACE_Service().AddTrace(new TRACE() { FK_ID_TASK = task.PK_ID_TASK, FK_ID_SERVER = 1, DATE_TRACE = DateTime.Now, NOM_SERVER = System.Environment.MachineName, METHOD = "INITIALISATION TASK", DESCRIPTION = "Récupération de la tache à effectuer" }); TranscoderService.DoFFmpegConversion(task); } } } catch (Exception f) { string path = ConfigurationManager.AppSettings["TranscoderRootServiceForLogs"] + "Exception.txt"; StreamWriter oStreamWriter = new StreamWriter(path, true); oStreamWriter.WriteLine(f.Message); oStreamWriter.WriteLine(f.InnerException); oStreamWriter.WriteLine(f.StackTrace); oStreamWriter.Close(); oStreamWriter = null; } } }