コード例 #1
0
        public void ExecuteTasks()
        {
            while (true)
            {
                if (transcodingTasksQueue.Count > 0)
                {
                    TranscoderActorTask task = transcodingTasksQueue.Dequeue();

                    Task.Run(() => {
                        _transcoder.Transcode(task.Source, task.Destination, task.Format);
                    });
                }
                if (metadataTasksQueue.Count > 0)
                {
                    MetadataActorTask task = metadataTasksQueue.Dequeue();

                    Task.Run(() => {
                        Dictionary <string, string> mtd = _metadataExtractor.DumpFlat(task.Source);
                    });
                }
                if (qualityTasksQueue.Count > 0)
                {
                    QualityControlActorTask task = qualityTasksQueue.Dequeue();

                    Task.Run(() => {
                        _transcoder.QualityCheck(task.Source);
                    });
                }
                Thread.Sleep(2000);
            }
        }