Due to increased use of IoT devices and data sensors a huge amount of data is being produced for processing in real-time. Fog computing has evolved as a solution for fast processing of data. To complete the data processing as per requirement of user, it is processed at fog nodes which are near the user. To complete work in a specified time with limited resources, task scheduling is performed. With the increased amount of data to be processed, the completion of task within given time in fog computing is a major challenge. So, scheduling of tasks and resources is a very important issue. A lot of research has been undertaken in recent years. In this survey, authors have reviewed various task scheduling algorithms suggested by researchers to meet the user requirements.The focus of this article is on diverse scheduling techniques being deployed in fog computing. An effort has been made to classify existing approaches, research issues and determine significant issues existing in this field. There are four major scheduling categories that are used by researchers namely, static, dynamic, heuristic, and hybrid. As per this study, 17% researchers deployed static, 23% dynamic, 47% heuristic, and 13% hybrid approaches, respectively.Analysis shows that for QoS (Quality of Service) parameters 19% researchers are focused on response time, 18% on cost and energy consumption, and 16% on makespan. For QoS parameter other factors have much smaller contribution in comparison to the above factors. In the tools used, researchers observed that 40% of the researches have used iFogSim, according to literature. Besides, this research article also discusses open issues and future work in the field of fog computing. This article also underlines various open issues and future directions in the field of fog computing.