Have a look at one of the library I created, internally it uses millis to handle function call. This library is based on Timer library but modified to meet my requirements.