top

Grouper implements process orcestration. Runners are organized into groups, which are then organized into an execution tree. If you have modeled your subsystems as ifrit runners, startup and shutdown of your entire application can now be controlled.

Grouper provides three strategies for system startup: two static group strategies, and one DynamicGroup. Each static group strategy takes a list of members, and starts the members in the following manner:

- Parallel: all processes are started simultaneously.
- Ordered:  the next process is started when the previous is ready.

The DynamicGroup allows up to N processes to be run concurrently. The dynamic group runs indefinitely until it is closed or signaled. The DynamicGroup provides a DynamicClient to allow interacting with the group. A dynamic group has the following properties:

- A dynamic group allows Members to be inserted until it is closed.
- A dynamic group can be manually closed via it's client.
- A dynamic group is automatically closed once it is signaled.
- Once a dynamic group is closed, it acts like a static group.

Groups can optionally be configured with a termination signal, and all groups have the same signaling and shutdown properties:

- The group propogates all received signals to all running members.
- If a member exits before being signaled, the group propogates the
  termination signal.  A nil termination signal is not propogated.

Imported by 77 package(s)

  1. code-acceptance.cfapps.io/gorouter
  2. code.cloudfoundry.org/bbs/cmd/bbs
  3. code.cloudfoundry.org/diego-ssh/cmd/ssh-proxy
  4. code.cloudfoundry.org/diego-ssh/cmd/sshd
  5. code.cloudfoundry.org/dockerapplifecycle/builder
  6. code.cloudfoundry.org/executor/initializer
  7. code.cloudfoundry.org/gorouter
  8. code.cloudfoundry.org/localbroker/utils
  9. code.cloudfoundry.org/rep/cmd/rep
  10. code.cloudfoundry.org/routing-api/cmd/routing-api
  11. code.cloudfoundry.org/volman/vollocal
  12. github.com/FidelityInternational/atc/atccmd
  13. github.com/FidelityInternational/atc/radar
  14. github.com/Jasrags/gomeeting-broker
  15. github.com/amitkgupta/app-manager
  16. github.com/amitkgupta/converger
  17. github.com/amitkgupta/executor
  18. github.com/amitkgupta/file-server
  19. github.com/amitkgupta/rep
  20. github.com/cloudfoundry-attic/app-manager
  21. github.com/cloudfoundry-attic/receptor/cmd/receptor
  22. github.com/cloudfoundry-incubator/bbs/cmd/bbs
  23. github.com/cloudfoundry-incubator/docker_app_lifecycle/builder
  24. github.com/cloudfoundry-incubator/executor/initializer
  25. github.com/cloudfoundry-incubator/garden-windows/integration/helpers
  26. github.com/cloudfoundry-incubator/localbroker/utils
  27. github.com/cloudfoundry-incubator/natbeat
  28. github.com/cloudfoundry-incubator/receptor/cmd/receptor
  29. github.com/cloudfoundry-incubator/rep/cmd/rep
  30. github.com/cloudfoundry-incubator/routing-api/cmd/routing-api
  31. github.com/cloudfoundry-incubator/switchboard
  32. github.com/cloudfoundry-incubator/thoth
  33. github.com/cloudfoundry/azurefilebroker
  34. github.com/cloudfoundry/bbs/cmd/bbs
  35. github.com/cloudfoundry/blackbox
  36. github.com/cloudfoundry/dockerapplifecycle/builder
  37. github.com/cloudfoundry/executor/initializer
  38. github.com/cloudfoundry/garden-windows/integration/helpers
  39. github.com/cloudfoundry/go-fetcher
  40. github.com/cloudfoundry/gorouter
  41. github.com/cloudfoundry/hm9000/hm
  42. github.com/cloudfoundry/localbroker/utils
  43. github.com/cloudfoundry/volman/vollocal
  44. github.com/concourse/atc/atccmd
  45. github.com/concourse/atc/radar
  46. github.com/concourse/baggageclaim/baggageclaimcmd
  47. github.com/concourse/blackbox
  48. github.com/cunnie/atc/atccmd
  49. github.com/cunnie/atc/radar
  50. github.com/ematpl/redirector
  51. github.com/gogolok/go-leader-election-sample
  52. github.com/jadekler/atc/atccmd
  53. github.com/jadekler/atc/radar
  54. github.com/jberkhahn/hm9000/hm
  55. github.com/jreyeshdez/go-fetcher
  56. github.com/mandarjog/gorouter
  57. github.com/mmb/atc/atccmd
  58. github.com/mmb/atc/radar
  59. github.com/onsi/grace
  60. github.com/oppegard/atc/radar
  61. github.com/rakutentech/gorouter
  62. github.com/robdimsdale/atc/radar
  63. github.com/robdimsdale/garagepi
  64. github.com/rosenhouse/cnsim
  65. github.com/savaki/atc/radar
  66. github.com/shashankmjain/gorouter
  67. github.com/shashidharatd/receptor/task_handler
  68. github.com/shinji62/atc/atccmd
  69. github.com/shinji62/atc/radar
  70. github.com/superryanguo/garagepi
  71. github.com/takuan-osho/bin/cmd/concourse
  72. github.com/tedsuo/diegito
  73. github.com/voelzmo/hm9000/hm
  74. github.com/yanana/atc/atccmd
  75. github.com/yanana/atc/radar
  76. github.com/zachgersh/atc/atccmd
  77. github.com/zachgersh/atc/radar

Imported only in test by 13 package(s)

  1. code.cloudfoundry.org/bbs
  2. github.com/DanLavine/bbs
  3. github.com/amitkgupta/inigo
  4. github.com/cf-routing/bbs
  5. github.com/cf-routing/ifrit/grouper
  6. github.com/cloudfoundry-incubator/bbs
  7. github.com/cloudfoundry/bbs
  8. github.com/danhigham/bbs
  9. github.com/danlavine/bbs
  10. github.com/gertd/garden-windows/integration/lifecycle
  11. github.com/jfmyers9/ifrit/grouper
  12. github.com/julian-hj/ifrit/grouper
  13. github.com/layer-x/pluggable-bbs

Imports 1 package(s)

  1. github.com/tedsuo/ifrit

Test imports 4 package(s)

  1. github.com/onsi/ginkgo
  2. github.com/onsi/gomega
  3. github.com/tedsuo/ifrit/fake_runner
  4. github.com/tedsuo/ifrit/ginkgomon