SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Controlling UNIX
 Processes using
   Supervisor
   Calvin Hendryx-Parker
        PyOhio 2010




         nowhere to go but
        open source
        s i xf e e tu p . c om
Supervisor Overview

•   Convenience
•   Delegation
•   Distributed Control
•   Process Groups




                          sixfeetup.com
Similar Tools

•   launchd
•   daemontools
•   runit




                  sixfeetup.com
Installation and Configuration
•   virtualenv!
•   Installation via setuptools
•   Configuration File Details
    •   Overview of the major sections
    •   Group Processes



                                         sixfeetup.com
Running Supervisor

•   Command line
•   Web Interface
•   XML-RPC




                     sixfeetup.com
supervisord Signals

•   SIGTERM, SIGINT, SIGQUIT
•   SIGHUP
•   SIGUSR2




                               sixfeetup.com
Subprocesses

•   supervisord is the parent process
•   Child Processes
•   pidproxy




                                        sixfeetup.com
Subprocess States




                    sixfeetup.com
Logging


•   Activity Log
•   Child Process Logs




                         sixfeetup.com
Utilizing XML-RPC

•   Remote Control of Supervisor
•   Extending Supervisor
    •   supervisor_cache
    •   supervisor_twiddler




                                   sixfeetup.com
Event Notifications
•   Types of Events
    •   PROCESS_STATE
    •   REMOTE_COMMUNICATION
    •   PROCESS_LOG
    •   PROCESS_COMMUNICATION
    •   SUPERVISOR_STATE_CHANGE
    •   TICK

                                  sixfeetup.com
Event Notifications

•   supervisor.childutils
•   Example usage of events
    •   Monitor resource usage
    •   Span new processes based on usage




                                            sixfeetup.com
Resources
•   http://supervisord.org
•   http://pypi.python.org/pypi/supervisor
•   http://pypi.python.org/pypi/
    collective.recipe.supervisor
•   http://pypi.python.org/pypi/superlance
•   http://pypi.python.org/pypi/supervisor_cache
•   http://virtualenv.openplans.org/
•   http://docs.repoze.org/bfg/1.3/narr/firstapp.html
                                                       sixfeetup.com
Questions?
  Thank you!




   nowhere to go but
  open source
  s i xf e e tu p . c om

Weitere ähnliche Inhalte

Was ist angesagt?

MoniTutor
MoniTutorMoniTutor
MoniTutorIcinga
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaIcinga
 
Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2Icinga
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2Icinga
 
Icinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Icinga
 
Icinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga
 
Icinga Camp Belgrade - Icinga 2 Apify Them All
Icinga Camp Belgrade - Icinga 2 Apify Them AllIcinga Camp Belgrade - Icinga 2 Apify Them All
Icinga Camp Belgrade - Icinga 2 Apify Them AllIcinga
 
Icinga @ OSMC 2014
Icinga @ OSMC 2014Icinga @ OSMC 2014
Icinga @ OSMC 2014Icinga
 
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of IcingaIcinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of IcingaIcinga
 
Icinga Camp Amsterdam - How to monitor Windows
Icinga Camp Amsterdam - How to monitor WindowsIcinga Camp Amsterdam - How to monitor Windows
Icinga Camp Amsterdam - How to monitor WindowsIcinga
 
Icinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - OpeningIcinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - OpeningIcinga
 
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++Icinga
 
Icinga Camp Bangalore - Welcome
Icinga Camp Bangalore - WelcomeIcinga Camp Bangalore - Welcome
Icinga Camp Bangalore - WelcomeIcinga
 
OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...
OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...
OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...NETWAYS
 
Icinga Camp Berlin 2018 - What's evolving in icinga 2018
Icinga Camp Berlin 2018 - What's evolving in icinga 2018Icinga Camp Berlin 2018 - What's evolving in icinga 2018
Icinga Camp Berlin 2018 - What's evolving in icinga 2018Icinga
 
Icinga 2011 at OSMC
Icinga 2011 at OSMCIcinga 2011 at OSMC
Icinga 2011 at OSMCIcinga
 

Was ist angesagt? (19)

MoniTutor
MoniTutorMoniTutor
MoniTutor
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with Icinga
 
Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2
 
Icinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in York
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
 
Icinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them all
 
Icinga Camp Belgrade - Icinga 2 Apify Them All
Icinga Camp Belgrade - Icinga 2 Apify Them AllIcinga Camp Belgrade - Icinga 2 Apify Them All
Icinga Camp Belgrade - Icinga 2 Apify Them All
 
Icinga @ OSMC 2014
Icinga @ OSMC 2014Icinga @ OSMC 2014
Icinga @ OSMC 2014
 
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of IcingaIcinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of Icinga
 
Icinga Camp Amsterdam - How to monitor Windows
Icinga Camp Amsterdam - How to monitor WindowsIcinga Camp Amsterdam - How to monitor Windows
Icinga Camp Amsterdam - How to monitor Windows
 
Icinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - OpeningIcinga Camp Berlin 2016 - Opening
Icinga Camp Berlin 2016 - Opening
 
Git It
Git ItGit It
Git It
 
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
 
Icinga Camp Bangalore - Welcome
Icinga Camp Bangalore - WelcomeIcinga Camp Bangalore - Welcome
Icinga Camp Bangalore - Welcome
 
Git tips and tricks
Git   tips and tricksGit   tips and tricks
Git tips and tricks
 
OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...
OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...
OSMC 2014: Log monitoring simplified - Get the best out of Graylog2 & Icinga ...
 
Icinga Camp Berlin 2018 - What's evolving in icinga 2018
Icinga Camp Berlin 2018 - What's evolving in icinga 2018Icinga Camp Berlin 2018 - What's evolving in icinga 2018
Icinga Camp Berlin 2018 - What's evolving in icinga 2018
 
Icinga 2011 at OSMC
Icinga 2011 at OSMCIcinga 2011 at OSMC
Icinga 2011 at OSMC
 

Andere mochten auch

Andere mochten auch (7)

Plone and Drupal -- CMS Coexistance in Higher Education
Plone and Drupal -- CMS Coexistance in Higher EducationPlone and Drupal -- CMS Coexistance in Higher Education
Plone and Drupal -- CMS Coexistance in Higher Education
 
How to seal the deal
How to seal the dealHow to seal the deal
How to seal the deal
 
Plone on RelStorage
Plone on RelStoragePlone on RelStorage
Plone on RelStorage
 
Enterprise search in Plone using Solr
Enterprise search in Plone using SolrEnterprise search in Plone using Solr
Enterprise search in Plone using Solr
 
Plone roadmap
Plone roadmapPlone roadmap
Plone roadmap
 
Social Networking Tools Session Three
Social Networking Tools Session ThreeSocial Networking Tools Session Three
Social Networking Tools Session Three
 
Enterprise search in plone using solr
Enterprise search in plone using solrEnterprise search in plone using solr
Enterprise search in plone using solr
 

Ähnlich wie Controlling UNIX Processes using Supervisor

DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)Francesco Fiore
 
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...NETWAYS
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodologylaeshin park
 
Open Policy Agent for governance as a code
Open Policy Agent for governance as a code Open Policy Agent for governance as a code
Open Policy Agent for governance as a code Alexander Tokarev
 
How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015hirokiky
 
Sensu and Sensibility - Puppetconf 2014
Sensu and Sensibility - Puppetconf 2014Sensu and Sensibility - Puppetconf 2014
Sensu and Sensibility - Puppetconf 2014Tomas Doran
 
Tool Up Your LAMP Stack
Tool Up Your LAMP StackTool Up Your LAMP Stack
Tool Up Your LAMP StackLorna Mitchell
 
Web development with Python
Web development with PythonWeb development with Python
Web development with PythonRaman Balyan
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
 
TestMaker Object Designer Training - Basics
TestMaker Object Designer Training - BasicsTestMaker Object Designer Training - Basics
TestMaker Object Designer Training - BasicsClever Moe
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga
 
Kick starting Network Automation
Kick starting Network AutomationKick starting Network Automation
Kick starting Network AutomationWalid Shaari
 
Git version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSGit version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSMurughan Palaniachari
 
OWASP 2013 APPSEC USA Talk - OWASP ZAP
OWASP 2013 APPSEC USA Talk - OWASP ZAPOWASP 2013 APPSEC USA Talk - OWASP ZAP
OWASP 2013 APPSEC USA Talk - OWASP ZAPSimon Bennetts
 
Presentation Magento OroCRM - MageConf 2014
Presentation Magento OroCRM - MageConf 2014Presentation Magento OroCRM - MageConf 2014
Presentation Magento OroCRM - MageConf 2014Sylvain Rayé
 

Ähnlich wie Controlling UNIX Processes using Supervisor (20)

DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)
 
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
 
Open Policy Agent for governance as a code
Open Policy Agent for governance as a code Open Policy Agent for governance as a code
Open Policy Agent for governance as a code
 
Zentral london mac_ad_uk_2017
Zentral london mac_ad_uk_2017Zentral london mac_ad_uk_2017
Zentral london mac_ad_uk_2017
 
How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015
 
Sensu and Sensibility - Puppetconf 2014
Sensu and Sensibility - Puppetconf 2014Sensu and Sensibility - Puppetconf 2014
Sensu and Sensibility - Puppetconf 2014
 
Pywps
PywpsPywps
Pywps
 
PyWPS-4.0.0
PyWPS-4.0.0PyWPS-4.0.0
PyWPS-4.0.0
 
Tool up your lamp stack
Tool up your lamp stackTool up your lamp stack
Tool up your lamp stack
 
Tool Up Your LAMP Stack
Tool Up Your LAMP StackTool Up Your LAMP Stack
Tool Up Your LAMP Stack
 
Web development with Python
Web development with PythonWeb development with Python
Web development with Python
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web Applications
 
TestMaker Object Designer Training - Basics
TestMaker Object Designer Training - BasicsTestMaker Object Designer Training - Basics
TestMaker Object Designer Training - Basics
 
DrupalCon 2011 Highlight
DrupalCon 2011 HighlightDrupalCon 2011 Highlight
DrupalCon 2011 Highlight
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
 
Kick starting Network Automation
Kick starting Network AutomationKick starting Network Automation
Kick starting Network Automation
 
Git version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSGit version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTS
 
OWASP 2013 APPSEC USA Talk - OWASP ZAP
OWASP 2013 APPSEC USA Talk - OWASP ZAPOWASP 2013 APPSEC USA Talk - OWASP ZAP
OWASP 2013 APPSEC USA Talk - OWASP ZAP
 
Presentation Magento OroCRM - MageConf 2014
Presentation Magento OroCRM - MageConf 2014Presentation Magento OroCRM - MageConf 2014
Presentation Magento OroCRM - MageConf 2014
 

Kürzlich hochgeladen

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Controlling UNIX Processes using Supervisor

  • 1. Controlling UNIX Processes using Supervisor Calvin Hendryx-Parker PyOhio 2010 nowhere to go but open source s i xf e e tu p . c om
  • 2. Supervisor Overview • Convenience • Delegation • Distributed Control • Process Groups sixfeetup.com
  • 3. Similar Tools • launchd • daemontools • runit sixfeetup.com
  • 4. Installation and Configuration • virtualenv! • Installation via setuptools • Configuration File Details • Overview of the major sections • Group Processes sixfeetup.com
  • 5. Running Supervisor • Command line • Web Interface • XML-RPC sixfeetup.com
  • 6. supervisord Signals • SIGTERM, SIGINT, SIGQUIT • SIGHUP • SIGUSR2 sixfeetup.com
  • 7. Subprocesses • supervisord is the parent process • Child Processes • pidproxy sixfeetup.com
  • 8. Subprocess States sixfeetup.com
  • 9. Logging • Activity Log • Child Process Logs sixfeetup.com
  • 10. Utilizing XML-RPC • Remote Control of Supervisor • Extending Supervisor • supervisor_cache • supervisor_twiddler sixfeetup.com
  • 11. Event Notifications • Types of Events • PROCESS_STATE • REMOTE_COMMUNICATION • PROCESS_LOG • PROCESS_COMMUNICATION • SUPERVISOR_STATE_CHANGE • TICK sixfeetup.com
  • 12. Event Notifications • supervisor.childutils • Example usage of events • Monitor resource usage • Span new processes based on usage sixfeetup.com
  • 13. Resources • http://supervisord.org • http://pypi.python.org/pypi/supervisor • http://pypi.python.org/pypi/ collective.recipe.supervisor • http://pypi.python.org/pypi/superlance • http://pypi.python.org/pypi/supervisor_cache • http://virtualenv.openplans.org/ • http://docs.repoze.org/bfg/1.3/narr/firstapp.html sixfeetup.com
  • 14. Questions? Thank you! nowhere to go but open source s i xf e e tu p . c om

Hinweis der Redaktion

  1. Pure Python Simple, centralized, efficient, extensible, compatible, proven Maintainable Software - Mike Agendaless - Chris Accuracy
  2. supervisord supervisorctl
  3. tail -f (stderr) utilize the supervisor namespace supports XML-RPC multicall API - encapsulate multiple calls to a remote server into a single request
  4. stop processes, reload config close and re-open log files, rotate log files
  5. manages complete lifetime of child processes can't daemonize for daemons that can't
  6. stdout
  7. Supervisor Cache can prevent the synchronization headaches you might have using the filesystem or a database to accomplish the same task manipulated in ways that are not normally possible at runtime.
  8. need to mention superlance Supervisor sends specially-formatted input to an event listener process' stdin and stdout supervisor maintains state of event listeners, busy, ready, acknowleged starting, running, backoff, stopping, exited, stopped, fatal, unknown stdout, stderr watches for tags in process output, stdout and stderr running, stopping 5, 60, 3600 event listeners can be in any lang, but supervisor contains a support lib to make this easy.
  9. need to mention superlance Supervisor sends specially-formatted input to an event listener process' stdin and stdout supervisor maintains state of event listeners, busy, ready, acknowleged starting, running, backoff, stopping, exited, stopped, fatal, unknown stdout, stderr watches for tags in process output, stdout and stderr running, stopping 5, 60, 3600 event listeners can be in any lang, but supervisor contains a support lib to make this easy.