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
Disque
Search
Mariano Iglesias
May 30, 2015
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Disque
Lightning talk given at New York for CakeFest 2015
Mariano Iglesias
May 30, 2015
More Decks by Mariano Iglesias
See All by Mariano Iglesias
Simple is Good, Complex is Bad
mariano
2
160
A future without frameworks
mariano
2
210
Procesando pagos: LO ESTÁS HACIENDO MAL
mariano
0
210
Go aka Golang
mariano
1
110
ElasticSearch: hacer un Google es una papa
mariano
0
78
Random tips that will save your project's life
mariano
0
56
node-db: La excusa perfecta para hablar de C++ y Node.js
mariano
0
84
Episodio VI - El retorno del freelancer
mariano
0
44
Going crazy with NodeJS and CakePHP
mariano
1
78
Other Decks in Programming
See All in Programming
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
120
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
500
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
140
不幸な GC
chencmd
0
630
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.9k
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
300
源内ハンズオン概要編
hideg
0
210
ソフトウェアラスタライザ
fadis
1
500
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
390
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
240
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
180
Dockerfile CMD for Node.js
grazie1999
0
120
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The agentic SEO stack - context over prompts
schlessera
0
870
Building Adaptive Systems
keathley
44
3.2k
Navigating Weather and Climate Data
rabernat
0
490
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Transcript
Disque A job queue to win it all
#DoingItWrong
Using Redis as a queue? No longer needed
• Non-blocking server • Distributed • Replication • In memory
• Job acknolwedging • If not acknolwedged, goes back to
queue • Job retries • Job delay
#Run
$ disque /etc/disque/7711.conf $ disque /etc/disque/7712.conf $ disque -p 7711
127.0.0.1:7711> cluster meet 127.0.0.1 7712 OK 127.0.0.1:7711> HELLO 1) (integer) 1 2) "26a390eb07bba018a9ed0591b2110479f16bb19d" 3) 1) "26a390eb07bba018a9ed0591b2110479f16bb19d" 2) "127.0.0.1" 3) "7711" 4) "1" 4) 1) "9ccaa86ceaf032eeb67097d639b80315090f79d5" 2) "127.0.0.1" 3) "7712" 4) "1"
#PHP
github.com/mariano/disque-php $ composer install mariano/disque-php
$disque = new \Disque\Client([ '127.0.0.1:7111', '127.0.0.2:7112' ]); $job = new
\App\Jobs\EmailJob([ 'email' => '
[email protected]
', 'template' => 'signed_up' ]); $disque->queue('emails')->push($job); $job = new \App\Jobs\RemindActivation($user); $disque->queue('emails')->schedule($job, new \DateTime('+1 week'));
$queue = $disque->queue('emails'); while ($job = $queue->pull()) { $job->execute(); $queue->processed($job);
}
#CLIGotchas
• Memory! • Error recovery • SIGINT • supervisord