コード例 #1
0
        /// <summary>
        /// 添加任务到队列
        /// </summary>
        /// <param name="queue"></param>
        /// <param name="t8Task"></param>
        /// <returns></returns>
        public static bool AddTaskToQueue(ConcurrentDictionary <string, T8TaskEntity> queue, T8TaskEntity t8Task, TaskQueueType taskQueue)
        {
            if (queue == null)
            {
                return(false);
            }
            if (queue.TryAdd(t8Task.GenerateTaskQueueKey, t8Task))
            {
                string taskQueueFullpath = Common.GetTaskQueueFileFullpath(taskQueue);
                bool   isAdd             = SerializableHelper <List <T8TaskEntity> > .BinarySerializeFile(taskQueueFullpath, queue.Values.ToList());

                if (!isAdd)
                {
                    T8TaskEntity tempT8Task;
                    queue.TryRemove(t8Task.GenerateTaskQueueKey, out tempT8Task);
                    return(false);
                }
            }

            return(true);
        }