A system of impulsive differential equations with state-dependent impulses is used to model the growth of a single population on two limiting essential resources in a self-cycling fermentor. Potential applications include water purification and biological waste remediation. The self-cycling fermentation process is a semi-batch process and the model is an example of a hybrid system. In this case, a well-stirred tank is partially drained, and subsequently refilled using fresh medium when the concentration of both resources (assumed to be pollutants) falls below some acceptable threshold. We consider the process successful if the threshold for emptying/refilling the reactor can be reached indefinitely without the time between successive emptying/refillings becoming unbounded and without interference by the operator. We prove that whenever the process is successful, the model predicts that the concentrations of the population and the resources converge to a positive periodic solution. We derive conditions for the successful operation of the process that are shown to be initial condition dependent and prove that if these conditions are not satisfied, then the reactor fails. We show numerically that there is an optimal fraction of the medium drained from the tank at each impulse that maximizes the output of the process.