SlideShare a Scribd company logo
Circus is a Python program which
can be used to monitor and
control processes and sockets.
Installation
Pip
# pip install circus
Git
# git clone https://github.com/circus-tent/circus.git
# cd circus
# python setup.py
Prerequisites
# apt-get install libzmq-dev libevent-dev python-dev
Ecosystem
Circus-web
# pip install circus-web
Chaussette
# pip install chaussette
circusd
root@circus:~# circusd --help
usage: circusd [-h]
[--log-level {info,debug,critical,warning,error}]
[--log-output LOGOUTPUT] [--logger-config LOGGERCONFIG]
[--daemon] [--pidfile PIDFILE] [--version]
[config]
Run some watchers.
Configuration ini
[watcher:NAME]
Section defines the program to be run, and attributes to use.
[socket:NAME]
Defines the socket and its properties
[circus]
Section is responsible for defining the circus control endpoints.
[env:NAME]
This section is resposible for delivering environment variables to
running processes.
Interfaces
Browser Terminal
Terminal tools
circusctl
circusctl is a command line interface to control running Circus daemon
circus-top
circus-top is a command line tool to see circus daemon stats
Other tools
circusd-statsroot@circus:~/circus-breath# circusd-stats --help
usage: circusd-stats [-h] [--endpoint ENDPOINT] [--pubsub PUBSUB]
[--statspoint STATSPOINT] [--log-level LOGLEVEL]
[--log-output LOGOUTPUT] [--version] [--ssh SSH]
Runs the stats aggregator for Circus
circushttpdcircushttpd --help
usage: circushttpd [-h] [--fd FD] [--host HOST] [--port PORT]
[--endpoint ENDPOINT] [--version]
[--log-level {info,debug,critical,warning,error}]
[--log-output LOGOUTPUT] [--ssh SSH]
[--multicast MULTICAST]
Run the Web Console
Architecture
REQ/REP – a socket used to control
circusd using json-based commands.
PUB/SUB – a socket where circusd
publishes events, like when a process
is started or stopped.
vs Supervisord
Supervisor Circus
Demo time
[circus]
statsd = 1
httpd = 1
[watcher:webapp]
cmd = bin/chaussette --fd $(circus.sockets.web)
numprocesses = 3
use_sockets = True
[socket:web]
host = 127.0.0.1
port = 9999

More Related Content

What's hot

A deep dive into libuv
A deep dive into libuvA deep dive into libuv
A deep dive into libuv
Saúl Ibarra Corretgé
 
ns2 install
ns2 installns2 install
ns2 install
HUANG HSITING
 
Planning libuv v2
Planning libuv v2Planning libuv v2
Planning libuv v2
Saúl Ibarra Corretgé
 
Introduction to Sumatra
Introduction to SumatraIntroduction to Sumatra
Introduction to Sumatra
Felix Z. Hoffmann
 
Brocade - Stingray Application Firewall
Brocade - Stingray Application FirewallBrocade - Stingray Application Firewall
Brocade - Stingray Application Firewall
Simon Su
 
Android Studio 2: What's new?
Android Studio 2: What's new?Android Studio 2: What's new?
Android Studio 2: What's new?
Thiago Cechetto
 
Gitlab installation
Gitlab installationGitlab installation
Gitlab installationRaiful Hasan
 
Devry ecet 105 week 7 i lab add
Devry ecet 105 week 7 i lab addDevry ecet 105 week 7 i lab add
Devry ecet 105 week 7 i lab add
Bartholomee
 
Monit - NHRuby May 2009
Monit - NHRuby May 2009Monit - NHRuby May 2009
Monit - NHRuby May 2009
bturnbull
 
Printf and scanf
Printf and scanfPrintf and scanf
Printf and scanf
gidc engineering college
 
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Icinga
 
Python event based network sniffer
Python event based network snifferPython event based network sniffer
Python event based network sniffer
Jirka Vejrazka
 
Introduction to Go scheduler
Introduction to Go schedulerIntroduction to Go scheduler
Introduction to Go scheduler
Bin Wang
 
libuv: cross platform asynchronous i/o
libuv: cross platform asynchronous i/olibuv: cross platform asynchronous i/o
libuv: cross platform asynchronous i/o
Saúl Ibarra Corretgé
 
20131015_demo_oshk
20131015_demo_oshk20131015_demo_oshk
20131015_demo_oshkJeff Yang
 
Raspberry pi Part 26
Raspberry pi Part 26Raspberry pi Part 26
Raspberry pi Part 26
Techvilla
 
Automated monitoring with NSClient++ and Icinga
Automated monitoring with NSClient++ and IcingaAutomated monitoring with NSClient++ and Icinga
Automated monitoring with NSClient++ and Icinga
Michael Medin
 
Async await functions in ruby
Async await functions in rubyAsync await functions in ruby
Async await functions in ruby
Yusuke Sato
 

What's hot (19)

A deep dive into libuv
A deep dive into libuvA deep dive into libuv
A deep dive into libuv
 
Intro django
Intro djangoIntro django
Intro django
 
ns2 install
ns2 installns2 install
ns2 install
 
Planning libuv v2
Planning libuv v2Planning libuv v2
Planning libuv v2
 
Introduction to Sumatra
Introduction to SumatraIntroduction to Sumatra
Introduction to Sumatra
 
Brocade - Stingray Application Firewall
Brocade - Stingray Application FirewallBrocade - Stingray Application Firewall
Brocade - Stingray Application Firewall
 
Android Studio 2: What's new?
Android Studio 2: What's new?Android Studio 2: What's new?
Android Studio 2: What's new?
 
Gitlab installation
Gitlab installationGitlab installation
Gitlab installation
 
Devry ecet 105 week 7 i lab add
Devry ecet 105 week 7 i lab addDevry ecet 105 week 7 i lab add
Devry ecet 105 week 7 i lab add
 
Monit - NHRuby May 2009
Monit - NHRuby May 2009Monit - NHRuby May 2009
Monit - NHRuby May 2009
 
Printf and scanf
Printf and scanfPrintf and scanf
Printf and scanf
 
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
 
Python event based network sniffer
Python event based network snifferPython event based network sniffer
Python event based network sniffer
 
Introduction to Go scheduler
Introduction to Go schedulerIntroduction to Go scheduler
Introduction to Go scheduler
 
libuv: cross platform asynchronous i/o
libuv: cross platform asynchronous i/olibuv: cross platform asynchronous i/o
libuv: cross platform asynchronous i/o
 
20131015_demo_oshk
20131015_demo_oshk20131015_demo_oshk
20131015_demo_oshk
 
Raspberry pi Part 26
Raspberry pi Part 26Raspberry pi Part 26
Raspberry pi Part 26
 
Automated monitoring with NSClient++ and Icinga
Automated monitoring with NSClient++ and IcingaAutomated monitoring with NSClient++ and Icinga
Automated monitoring with NSClient++ and Icinga
 
Async await functions in ruby
Async await functions in rubyAsync await functions in ruby
Async await functions in ruby
 

Similar to Process Management using Circus

Labs_BT_20221017.pptx
Labs_BT_20221017.pptxLabs_BT_20221017.pptx
Labs_BT_20221017.pptx
ssuserb4d806
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
Mike Pittaro
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
Juraj Hantak
 
Embedded Android
Embedded AndroidEmbedded Android
Embedded Android
晓东 杜
 
App container rkt
App container rktApp container rkt
App container rkt
Xiaofeng Guo
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Docker, Inc.
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Rachid Zarouali
 
Piwik elasticsearch kibana at OSC Tokyo 2016 Spring
Piwik elasticsearch kibana at OSC Tokyo 2016 SpringPiwik elasticsearch kibana at OSC Tokyo 2016 Spring
Piwik elasticsearch kibana at OSC Tokyo 2016 Spring
Takashi Yamamoto
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
Cyber Security Alliance
 
Minimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestrationMinimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestration
Outlyer
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
Pablo Godel
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
Arto Artnik
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Fabrice Bernhard
 
Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet Introduction
Michael Lessard
 
Relational Database Access with Python
Relational Database Access with PythonRelational Database Access with Python
Relational Database Access with Python
Mark Rees
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time OptimizationKan-Ru Chen
 
CheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdfCheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdf
SayniDas1
 
CheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdfCheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdf
SayniDas1
 
Optimizing Your CI Pipelines
Optimizing Your CI PipelinesOptimizing Your CI Pipelines
Optimizing Your CI Pipelines
Sebastian Witowski
 

Similar to Process Management using Circus (20)

Labs_BT_20221017.pptx
Labs_BT_20221017.pptxLabs_BT_20221017.pptx
Labs_BT_20221017.pptx
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Embedded Android
Embedded AndroidEmbedded Android
Embedded Android
 
App container rkt
App container rktApp container rkt
App container rkt
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
 
Piwik elasticsearch kibana at OSC Tokyo 2016 Spring
Piwik elasticsearch kibana at OSC Tokyo 2016 SpringPiwik elasticsearch kibana at OSC Tokyo 2016 Spring
Piwik elasticsearch kibana at OSC Tokyo 2016 Spring
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Minimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestrationMinimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestration
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet Introduction
 
Relational Database Access with Python
Relational Database Access with PythonRelational Database Access with Python
Relational Database Access with Python
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
 
CheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdfCheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdf
 
CheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdfCheatSheet-FortiOS-6.4.pdf
CheatSheet-FortiOS-6.4.pdf
 
Optimizing Your CI Pipelines
Optimizing Your CI PipelinesOptimizing Your CI Pipelines
Optimizing Your CI Pipelines
 

More from samof76

Supervisord, The Process Manager
Supervisord, The Process ManagerSupervisord, The Process Manager
Supervisord, The Process Manager
samof76
 
Python Subprocess
Python SubprocessPython Subprocess
Python Subprocess
samof76
 
Proces
ProcesProces
Proces
samof76
 
Lxc- Linux Containers
Lxc- Linux ContainersLxc- Linux Containers
Lxc- Linux Containers
samof76
 
Git.intro
Git.introGit.intro
Git.intro
samof76
 
AWS Use Cases
AWS Use CasesAWS Use Cases
AWS Use Cases
samof76
 
Cloud
CloudCloud
Cloud
samof76
 
Cloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWSCloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWS
samof76
 
Open Source 2.0
Open Source 2.0Open Source 2.0
Open Source 2.0
samof76
 
Distributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring RiakDistributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring Riak
samof76
 

More from samof76 (10)

Supervisord, The Process Manager
Supervisord, The Process ManagerSupervisord, The Process Manager
Supervisord, The Process Manager
 
Python Subprocess
Python SubprocessPython Subprocess
Python Subprocess
 
Proces
ProcesProces
Proces
 
Lxc- Linux Containers
Lxc- Linux ContainersLxc- Linux Containers
Lxc- Linux Containers
 
Git.intro
Git.introGit.intro
Git.intro
 
AWS Use Cases
AWS Use CasesAWS Use Cases
AWS Use Cases
 
Cloud
CloudCloud
Cloud
 
Cloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWSCloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWS
 
Open Source 2.0
Open Source 2.0Open Source 2.0
Open Source 2.0
 
Distributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring RiakDistributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring Riak
 

Recently uploaded

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Yara Milbes
 

Recently uploaded (20)

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
 

Process Management using Circus

  • 1.
  • 2. Circus is a Python program which can be used to monitor and control processes and sockets.
  • 3. Installation Pip # pip install circus Git # git clone https://github.com/circus-tent/circus.git # cd circus # python setup.py Prerequisites # apt-get install libzmq-dev libevent-dev python-dev
  • 4. Ecosystem Circus-web # pip install circus-web Chaussette # pip install chaussette
  • 5. circusd root@circus:~# circusd --help usage: circusd [-h] [--log-level {info,debug,critical,warning,error}] [--log-output LOGOUTPUT] [--logger-config LOGGERCONFIG] [--daemon] [--pidfile PIDFILE] [--version] [config] Run some watchers.
  • 6. Configuration ini [watcher:NAME] Section defines the program to be run, and attributes to use. [socket:NAME] Defines the socket and its properties [circus] Section is responsible for defining the circus control endpoints. [env:NAME] This section is resposible for delivering environment variables to running processes.
  • 8. Terminal tools circusctl circusctl is a command line interface to control running Circus daemon circus-top circus-top is a command line tool to see circus daemon stats
  • 9. Other tools circusd-statsroot@circus:~/circus-breath# circusd-stats --help usage: circusd-stats [-h] [--endpoint ENDPOINT] [--pubsub PUBSUB] [--statspoint STATSPOINT] [--log-level LOGLEVEL] [--log-output LOGOUTPUT] [--version] [--ssh SSH] Runs the stats aggregator for Circus circushttpdcircushttpd --help usage: circushttpd [-h] [--fd FD] [--host HOST] [--port PORT] [--endpoint ENDPOINT] [--version] [--log-level {info,debug,critical,warning,error}] [--log-output LOGOUTPUT] [--ssh SSH] [--multicast MULTICAST] Run the Web Console
  • 10. Architecture REQ/REP – a socket used to control circusd using json-based commands. PUB/SUB – a socket where circusd publishes events, like when a process is started or stopped.
  • 12. Demo time [circus] statsd = 1 httpd = 1 [watcher:webapp] cmd = bin/chaussette --fd $(circus.sockets.web) numprocesses = 3 use_sockets = True [socket:web] host = 127.0.0.1 port = 9999