Tracking the International Space Station in Django with Redis-Queue and RQ Scheduler
By Samuel Agnew

Have you ever looked up at the sky and wondered if the International Space Station was flying by at that moment? In this live coding adventure we will cover the basics of scheduling tasks with RQ in Django by building a web app that sends you text message notifications whenever the ISS passes by your location. Technologies covered will be the ISS Open Notify API, Twilio SMS, RQ, and RQ Scheduler.

Saturday 4:30 p.m.–5 p.m. in Hays Cape

The international space station (ISS) is an orbital outpost circling high above our heads. Given a location on Earth (latitude, longitude) the ISS Open Notify API will compute the next n number of times that the ISS will be overhead. I will cover step by step how to build a web application that notifies users via text message when the ISS is passing over them.

This talk is live coded and will involve me switching between writing code in my text editor (vim), terminal windows and web browser. It is based off of a tutorial post I wrote for the Twilio blog.

In this session, attendees will learn how to: - Access and interpret data from the ISS Open Notify API on the exact timing on when the ISS will next pass a given geolocation. - Use Redis Queue as a lightweight alternative to Celery for executing asynchronous tasks. - Use RQ Scheduler to schedule tasks to be performed at a specific datetime. - Integrate RQ and RQ Scheduler into a Django web application. - Respond to webhook requests with Django. - Access client-side geolocation data using JavaScript. - Send text message notifications using the Twilio SMS API.

In the Django app built during this talk, Redis will be used to store subscriber information such as a user's phone number and geolocation. RQ and RQ Scheduler will be used to execute a function that sends a text message notification using the Twilio API at a given datetime.

At the end of my talk, I will send a text message containing the code I wrote, and a walkthrough on how to get it running to all of the audience members who interacted with the live-coded web application from my session.

Samuel Agnew

Sam Agnew is a developer evangelist at Twilio and loves inspiring and equipping developers around the world. He particularly enjoys the New York and Boston Python communities. The only thing he finds more satisfying than writing Python is playing fast guitar solos and figuring out how old video games work.