Summary Most long-running programs have a need for executing periodic tasks. APScheduler is a mature and open source library that provides all of the features that you need in a task scheduler. In this episode the author, Alex Grönholm, explains how it works, why he created it, and how you can use it in your own applications. He also digs into his plans for the next major release and the forces that are shaping the improved feature set. Spare yourself the pain of triggering events at just the right time and let APScheduler do it for you. Announcements Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, and a brand new managed Kubernetes platform, all controlled by a convenient API you’ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they’ve got dedicated CPU and GPU instances. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show! You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don’t want to miss out on this year’s conference season. We have partnered with organizations such as O’Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to pythonpodcast.com/conferences to learn more about these and other events, and take advantage of our partner discounts to save money when you register today. Your host as usual is Tobias Macey and today I’m interviewing Alex Grönholm about APScheduler, a library for scheduling tasks in your Python projects Interview Introductions How did you get introduced to Python? Can you start by describing what APScheduler is and the main use cases that APScheduler is designed for? What was your movitvation for creating it? What is the workflow for integrating APScheduler into an application? In the documentation it says not to run more than one instance of the scheduler, what are some strategies for scaling schedulers? What are some common architectures for applications that take advantage of APScheduler? What are some potential pitfalls that developers should be aware of? Can you describe how APScheduler is implemented and how its design has evolved since you first began working on it? What have you found to be the most complex or challenging aspects of building or using a scheduling framework? What are some of the most interesting/innovative/unexpected ways that you have seen APScheduler used? What are some of the features or capabilities that you have consciously left out? What design strategies or features of APScheduler are often overlooked or underappreciated? What are some of the most useful or interesting lessons that you have learned while building and maintaining APScheduler? When is APScheduler the wrong choice for managing task execution? What do you have planned for the future of the project? Keep In Touch agronholm on GitHub Picks Tobias The Data Exchange Podcast Alex Tenacity Links APScheduler PHP Java ECMAScript Celery ERP == Enterprise Resource Planning Cron Daemon RPyC Zookeeper Data Engineering Podcast Episode RethinkDB Daylight Saving Time Falsehoods Programmers Believe About Time PyTZ Celery Beats Asphalt Framework Podcast Episode AnyIO Twisted Podcast Episode Py2EXE PyInstaller The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA