func (wq *TaskQueue) DequeueTask() (Task, error) {
	if wq.totalTasks > 0 {
		task := wq.que[0]
		wq.que = append(wq.que[:0], wq.que[1:]...)
		wq.totalTasks--
		return task, nil
	}
	return Task{}, errors.New("Queue is Empty")
}
//DequeueTask returns a task and removes it from the TaskQueue
DequeueTask returns a task and removes it from the TaskQueue
// DequeueTask returns a task and removes it from the TaskQueue
func (wq *TaskQueue) DequeueTask() (Task, error) {
	if wq.totalTasks > 0 {
		task := wq.que[0]
		wq.que = append(wq.que[:0], wq.que[1:]...)
		wq.totalTasks--
		return task, nil
	}
	return Task{}, errors.New("Queue is Empty")
}
func ( wq * TaskQueue ) DequeueTask ( ) ( Task , error ) { if wq . totalTasks > 0 { task := wq . que [ 0 ] wq . que = append ( wq . que [ : 0 ] , wq . que [ 1 : ] ... ) wq . totalTasks -- return task , nil } return Task { } , errors . New ( " " ) }
DequeueTask returns a task and removes it from the TaskQueue
DequeueTask returns a task and removes it from the TaskQueue