Consider a communications network consisting of mobiles and random external data processes, each destined to a particular destination. Each mobile can serve as a node in the multi-hop path from source to destination. At each mobile the data is queued according to the source destination pair. The quality of the connecting channels are randomly varying. Time is divided into small scheduling intervals. At the beginning of each interval, the channels are estimated and this information is used for the decisions concerning allocation of transmission power and/or time, bandwidth, and perhaps antennas, in a queue and channel-state dependent way. Under a natural (and "almost" necessary) "average flow" condition, stochastic stability methods are used to develop scheduling policies that assure stability. The policies are readily implementable and allow a range of tradeoffs between current rates and queue lengths, under very weak conditions. Because of the non-Markovian nature of the problem, we use the perturbed Stochastic Liapunov function method. The choice of Liapunov function allows a choice of the effective performance criteria. All essential factors are incorporated into a "mean rate" function, so that the results cover many different systems. Extensions concerning acknowledgments, multicasting, non-unique routes, and others are given to illustrate the versatility of the method, and a useful method for getting the a priori routes is discussed.