Concurrent and Distributed Computing with Python

Concurrent and Distributed Computing with Python

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 1h 48m | 265 MB

Implement concurrency in your apps using Celery, and Pyro, and make your Python apps distributed with AWS

Facing difficulty in implementing concurrent and multithreaded programs in your Python applications? Is this preventing you from implementing efficient code in your apps and benefiting from multiprocessing?

This course will help you resolve these difficulties. You will start by exploring the basic concepts of concurrency and distributed computing, and you’ll learn which Python libraries are relevant to these. You will not only learn to see Celery as a way to build-in concurrency into your apps, but also Pyro as an alternative to Celery. You will create processes and manage processes along with interprocess communication; combine coroutines with threads and processes; practice the management of process pools; implement asynchronous tasks/job queues using AsyncResult and Celery backends; invoke remote methods in your Python-based code, and use these skills and concepts when working with AWS for Python.

A comprehensive course, packed with executable instructions, and working examples. You will learn about all the libraries, techniques, and tools needed to exploit concurrent and distributed programming with Python.

What You Will Learn

  • Create and manage threads, and overcome the infamous Python GIL (Global Interpreter Lock)
  • Synchronize your processes and create process pools
  • Implement concurrent futures module through asynchronous programming
  • Practice AsyncResult and Celery backends through examples
  • See how you can implement concurrency using Celery
  • Execute client-server applications using Pyro as an alternative to Celery
  • Create a Python SQS distributed background worker
Table of Contents

UNDERSTANDING CONCURRENT AND DISTRIBUTED COMPUTING WITH PYTHON
The Course Overview
Getting Started with Concurrency
Introduction to Distributed Computing
Overview of Python Libraries for Concurrent and Distributed Computing

IMPLEMENT THREADING IN YOUR APP
Creating Threads
Managing Threads
Python GIL
Using gevent and Greenlets

USING MULTIPROCESSING IN THE APPLICATION
Creating and Managing Processes
Implementing Process Synchronization
Executing Inter-Process Communication
Managing Process Pools

ASYNCHRONOUS PROGRAMMING IN YOUR APP
Diving into Asynchronous Programming
Multitasking Using Coroutines and Event Loops with Asyncio
Combining Coroutines with Threads and Processes
Concurrent Futures Module

CELERY FOR MANAGING YOUR – DISTRIBUTED TASK QUEUE
Celery Concepts
AsyncResult and Celery Backends with Examples
Periodic Schedules Using Celery
Concurrency with Celery

PYRO – PYTHON REMOTE METHOD INVOCATION
Pyro as an Alternative to Celery
Pyro – Remote Method Invocation
Client-Server Application Using Pyro

AWS FOR PYTHON
AWS SQS and Distributed Tasks
Understanding Boto3 in AWS
Creating a Python SQS Distributed Background Worker