We propose a framework for maximizing the number of machine-type devices connected in the uplink of a Narrowband Internet of Things (NB-IoT) network using non-orthogonal multiple access (NOMA). The system is based on the fast-uplink grant (FUG), where the base station (BS) schedules the access for active devices requesting connection. This problem is a mixedinteger non-convex problem and real-time solutions using general solvers are computationally prohibitive. The proposed scheduling solution comprises efficient device clustering and optimum power allocation using a bipartite graph matching approach, termed connection throughput maximizing full matching with pruning (CTMBM). Different from the other solutions of state-of-the-art, our proposed scheme considers scheduling over multiple transmission time intervals while considering the transmission deadlines and quality of service (QoS) for the devices. Additionally, we provide a method for priority scheduling of a subset of devices. We compare our solution to the state-of-the-art schemes and analyze the achieved gains through Monte-Carlo computer simulations.