-
Notifications
You must be signed in to change notification settings - Fork 2
yannk/ControlFreak
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
What is ControlFreak? ===================== see also: - lib/ControlFreak/Tutorial.pod - lib/ControlFreak.pm (pod) ControlFreak's intent is to help you really control your (web) app (in production and in development) and your resources effectively. It's a process supervisor: - It fixes the mess of pid file management - It facilitates the roll-forward and backward of releases - It optionally controls the resources that your app needs (essentially sockets) and make these resources available to your app using a push model - ... and many other benefits like flexible logging/monitoring of everything It supervises any type of services. Examples: In Dev: - memcached - gearmand - perlbal - plack - workers - ddlockd In Prod: - gearman workers - schwartz workers - plack (web) workers) - (or, apache if you prefer) How does it work? ================= It is a pure Perl implementation consisting in: - a controlling process: cfkd, which runs an AnyEvent loop usually running in the background - a command line tool to talk to it: cfkctl - a configuration file (just a bunch of commands really) cfkd forks to start (exec) the services it controls. Optimally, cfkd binds sockets and share them with workers before forking (known as pre-fork module), it can also make you benefit from Copy On Write effect (sharing memory between all your workers for instance). At your command cfkd, restarts, stops, kills any service.
About
a process supervisor in Perl
Resources
Stars
Watchers
Forks
Packages 0
No packages published