• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Scale like a pro with Gearman
 

Scale like a pro with Gearman

on

  • 1,790 views

 

Statistics

Views

Total Views
1,790
Views on SlideShare
1,773
Embed Views
17

Actions

Likes
2
Downloads
24
Comments
0

2 Embeds 17

http://localhost 11
http://dex.io 6

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Scale like a pro with Gearman Scale like a pro with Gearman Presentation Transcript

  • Scaling like a pro with Gearman
  • Me?Web developer at... well yet another startup!Contributor to Symfony web frameworkFind me on Twitter @kertz
  • My idea of scaling...
  • What is Gearman?A Job serverClient APIWorker API...and lots of client & worker API libraries
  • What’s a job server?Manages the communication between clientsand workers
  • Client & WorkerThe client asks the worker to do a specific jobThe worker does what the client asks, oh yeah!More importantly it’s language independent!PHP Gearman extension
  • How does it work?
  • A Simple Worker Worker
  • Calling the worker Client
  • Making it workStart gearmand in your terminalYou can use -vvv for verbose modeRun the worker and clientForeground and background jobs
  • Status of WorkNumerator/Denominator(X of Y)Store the status in memcache/APCStore in MySQL, Drizzle
  • Knowing The Status Worker
  • Knowing The Status Client
  • Knowing The Status Result
  • Parallel Tasks Client
  • Callbacks Client
  • Callbacks Worker
  • Prioritize WorkNote: Separate queues for each priority level
  • Managing WorkercronGearman Managerhttps://github.com/brianlmoon/GearmanManagersupervisord
  • In RetrospectEasily manage client-worker relationshipLanguage independent (PHP, C, Perl etc.)Parallel, Callbacks, PrioritiesManaging Workers
  • Questions?