Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Celery - Distributed task queue system
Search
Mushfiq-E Mahabub
November 28, 2014
Programming
0
58
Celery - Distributed task queue system
Mushfiq-E Mahabub
November 28, 2014
Tweet
Share
More Decks by Mushfiq-E Mahabub
See All by Mushfiq-E Mahabub
Kanban as a Software Development Process
mushfiq
0
160
Kick Start your freelance career.
mushfiq
0
97
Other Decks in Programming
See All in Programming
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
8
3.7k
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
150
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
410
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
290
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
27
3.3k
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
270
GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO
niftycorp
PRO
0
1.3k
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
420
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
750
ドメインイベント増えすぎ問題
h0r15h0
2
550
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
170
Androidアプリの One Experience リリース
nein37
0
990
Featured
See All Featured
Thoughts on Productivity
jonyablonski
68
4.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
The Language of Interfaces
destraynor
155
24k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
A Tale of Four Properties
chriscoyier
157
23k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Transcript
Celery Distributed task queue system 1
Outline ! • What ? • Why ? • When
? • Who? • How ? 2
What? “Celery is a simple, flexible and reliable distributed system
to process vast amounts of messages, while providing operations with the tools required to maintain such a system.” Official Celery Docs. ! “Asynchronous task management system” 3
What? • Tasks • Worker • Broker 4
Tasks • Tasks can be created by any callable •
do something (?) when a worker receives the message • do something (?) when it is called 5
Worker • message consumer • execute tasks 6
Broker • message storage • executes task • store the
result (optional) 7
Architecture 8
When? • For background processing • Distributed computing • Eg.
Bulk email sending • Eg. Content aggregation • Eg. Long running data processing jobs • Eg. Periodic task 9
Who uses? 10
Who else? 11
Hello World? 12
Real World? 13
Common Issues • How to lock? • How to have
results? • Pythonic Cron? • How to distribute? • How to execute dependent task? 14
How to lock? 15
How to save result? 16
Cron (Pythonic)? 17
Distribute • start workers in separate machine • use (same/a
new one) message queue 18
Dependent tasks 19
Demo? 20
Image Sources • http://thenewstack.io/wp-content/uploads/2014/06/ redis.png • https://shiori2309.files.wordpress.com/2014/06/ what-not-to-say-to-mixed-race-4.gif • http://3.bp.blogspot.com/-9pKvE5OCXeM/
UtTnAGXrylI/AAAAAAAAQ_0/MlXbQnQqpAk/ s1600/rabbit_header_logo.jpg 21