Skip to main content
CF

Distributed Tasks Demystified with Celery, SQS & Python

4h 27m 50s
English
Paid

Unlock the power of distributed programming with our comprehensive course, tailored for everyone from beginners to seasoned industry professionals. Learn how to boost application throughput and minimize latency by mastering the art of building sophisticated applications using Python and Django.

Course Overview

Dive into the critical concepts of asynchronous parallel tasks, the backbone of distributed programming. The course begins by strengthening your foundational knowledge using Python-Celery, a powerful distributed task queue framework. We then transition to exploring AWS SQS, equipping you with the skills to efficiently scale parallel tasks in the cloud.

What You'll Learn

  • Understand the core principles of distributed programming within the Python ecosystem.
  • Build and manage asynchronous tasks using Python-Celery.
  • Scale your applications with AWS SQS to handle parallel computing efficiently.
  • Implement distributed components into your Python and Django projects seamlessly.

Course Outcomes

By the end of this course, you will be adept in using popular distributed programming frameworks specifically for Python and Django. The skills you gain will empower you to create scalable solutions for any Python project. Experience firsthand the ease of integrating distributed computing strategies into your work, and take your projects to new heights with confidence and effectiveness.

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 39 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 39 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (39)
#Lesson TitleDurationAccess
1
Introduction Demo
05:13
2
Prepping up your environment
07:24
3
Blocking vs non blocking (part 1)
06:11
4
Blocking vs non blocking (part 2)
05:01
5
Concurrency Consumer & Producer problem a deep dive
06:38
6
Solving Consumer producers problem with Mutual Exlusion
06:19
7
Controlling threads with conditions (Part 1)
02:24
8
Controlling threads with conditions (Part 2)
08:17
9
Controlling threads with conditions (Part 3)
03:51
10
Daemon threads by example (Part 4)
02:06
11
Consumer producer a thread safe FIFO queue
05:57
12
Getting started with Celery
05:53
13
Celery backends & Asyncresult by example
08:45
14
Python exception handling back to the basics
13:43
15
Exception handling in Celery Explained
09:24
16
Celery scheduled periodic tasks (Part 1)
04:45
17
Celery scheduled periodic tasks (Part 2)
04:43
18
Celery scheduled periodic tasks How to apply Mutex (Part 3)
10:39
19
Celery scheduled periodic tasks solar schedules
01:21
20
Introduction to distributed tasks with AWS SQS
14:00
21
Creating your first AWS SQS Queue with your AWS Console
05:21
22
How to create a AWS SQS background worker in python (Part 1)
08:04
23
How to create a AWS SQS background worker in python (Part 2)
09:43
24
Dead-letter Queues the theory
07:12
25
Dead-letter Queues illustrated
10:17
26
How to bypass AWS SQS (Simple Queue Service) 256kb payload limit
10:33
27
Introduction Project #1
01:05
28
Real world examples of data ingestors
04:00
29
Creating a twitter developer application and Authentication Token
06:17
30
Building your first social ingestor twitter (Part 1)
01:23
31
Building your first social ingestor twitter (Part 2)
03:35
32
Building your first social ingestor twitter Rate Limits (Part 3)
08:53
33
Building your first social ingestor twitter Handle (Part 4)
12:11
34
Building your first social ingestor twitter Handle (Part 5)
07:53
35
Basic fundamentals of SMTP and transactional email Services
04:21
36
Creating your first background email worker (Part 1)
11:49
37
Creating your first background email worker (Part 2)
11:23
38
Creating your first background email worker (Part 3)
03:21
39
Quick start guide: Getting started with PyCharm IDE (Mac)
07:55
Unlock unlimited learning

Get instant access to all 38 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
Before enrolling, it's recommended to have a basic understanding of Python programming. Familiarity with Django will be beneficial but not strictly necessary, as the course integrates these frameworks to teach distributed programming concepts. Prior exposure to cloud services like AWS is helpful but not required, as the course provides an introduction to AWS SQS.
What projects will I build during the course?
The course includes hands-on projects such as building social media data ingestors and a background email worker. You will create a Twitter developer application, manage authentication tokens, and handle rate limits. Additionally, you'll implement a background email worker using SMTP and transactional email services, enhancing practical understanding of distributed programming.
Who is this course intended for?
This course is suitable for both beginners and experienced industry professionals who want to understand distributed programming using Python and Django. It's ideal for developers looking to enhance their skills in building scalable, high-performance applications by mastering tools like Celery and AWS SQS.
How does the course depth compare to other distributed programming courses?
The course offers an in-depth exploration of distributed programming within the Python ecosystem, specifically focusing on Python-Celery and AWS SQS. It provides practical insights into concurrency, task scheduling, and scaling applications, distinguishing itself from more general programming courses by offering detailed lessons on specific distributed task frameworks.
What specific tools and platforms will be covered?
The course covers tools such as Python-Celery for managing asynchronous tasks and AWS SQS for scaling these tasks in the cloud. It also includes practical exercises with PyCharm IDE and explores components like dead-letter queues and solar schedules within Celery. These tools are integral to implementing distributed components in Python and Django projects.
What topics are not covered in this course?
This course does not cover advanced cloud computing topics beyond AWS SQS, nor does it delve into other programming languages outside of Python. It focuses specifically on distributed task frameworks within the Python ecosystem, so broader distributed system topics like microservices architectures or containerization are not addressed.
What is the expected time commitment for completing the course?
With a total of 39 lessons, the course is designed to be completed at your own pace. Although the runtime is not specified, students should allocate sufficient time to practice and implement the exercises, especially the hands-on projects like building data ingestors and background email workers, to fully grasp the concepts taught.