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 118 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/CrunchyData/blackbox
  13. github.com/FidelityInternational/atc/atccmd
  14. github.com/FidelityInternational/atc/radar
  15. github.com/JamesClonk/atc/atccmd
  16. github.com/Jasrags/gomeeting-broker
  17. github.com/SHyx0rmZ/atc/atccmd
  18. github.com/SHyx0rmZ/baggageclaim/baggageclaimcmd
  19. github.com/amitkgupta/app-manager
  20. github.com/amitkgupta/converger
  21. github.com/amitkgupta/executor
  22. github.com/amitkgupta/file-server
  23. github.com/amitkgupta/rep
  24. github.com/archSeer/atc/atccmd
  25. github.com/archSeer/atc/radar
  26. github.com/cloudfoundry-attic/app-manager
  27. github.com/cloudfoundry-attic/receptor/cmd/receptor
  28. github.com/cloudfoundry-incubator/bbs/cmd/bbs
  29. github.com/cloudfoundry-incubator/docker_app_lifecycle/builder
  30. github.com/cloudfoundry-incubator/executor/initializer
  31. github.com/cloudfoundry-incubator/garden-windows/integration/helpers
  32. github.com/cloudfoundry-incubator/localbroker/utils
  33. github.com/cloudfoundry-incubator/natbeat
  34. github.com/cloudfoundry-incubator/receptor/cmd/receptor
  35. github.com/cloudfoundry-incubator/rep/cmd/rep
  36. github.com/cloudfoundry-incubator/routing-api/cmd/routing-api
  37. github.com/cloudfoundry-incubator/switchboard
  38. github.com/cloudfoundry-incubator/thoth
  39. github.com/cloudfoundry/azurefilebroker
  40. github.com/cloudfoundry/bbs/cmd/bbs
  41. github.com/cloudfoundry/blackbox
  42. github.com/cloudfoundry/dockerapplifecycle/builder
  43. github.com/cloudfoundry/executor/initializer
  44. github.com/cloudfoundry/garden-windows/integration/helpers
  45. github.com/cloudfoundry/go-fetcher
  46. github.com/cloudfoundry/gorouter
  47. github.com/cloudfoundry/hm9000/hm
  48. github.com/cloudfoundry/localbroker/utils
  49. github.com/cloudfoundry/volman/vollocal
  50. github.com/concourse/atc/atccmd
  51. github.com/concourse/atc/radar
  52. github.com/concourse/baggageclaim/baggageclaimcmd
  53. github.com/concourse/blackbox
  54. github.com/concourse/concourse/atc/atccmd
  55. github.com/concourse/concourse/tsa/tsacmd
  56. github.com/concourse/worker/start
  57. github.com/crunchydata/blackbox
  58. github.com/csterwa/go-eureka-example/backend
  59. github.com/cunnie/atc/atccmd
  60. github.com/cunnie/atc/radar
  61. github.com/dgruber/go-eureka-example/backend
  62. github.com/digitalocean/atc/atccmd
  63. github.com/digitalocean/atc/radar
  64. github.com/dolph/concourse-atc/atccmd
  65. github.com/dolph/concourse-atc/radar
  66. github.com/ebabani/atc/atccmd
  67. github.com/ematpl/redirector
  68. github.com/evanphx/atc/atccmd
  69. github.com/ewohltman/gorouter
  70. github.com/farcaller/atc/atccmd
  71. github.com/gogolok/go-leader-election-sample
  72. github.com/govau/atc/atccmd
  73. github.com/headcr4sh/atc/atccmd
  74. github.com/hyperledger/fabric/integration/nwo
  75. github.com/jadekler/atc/atccmd
  76. github.com/jadekler/atc/radar
  77. github.com/jasonkeene/atc/atccmd
  78. github.com/jasonkeene/atc/radar
  79. github.com/jberkhahn/hm9000/hm
  80. github.com/jeffpak/csibroker
  81. github.com/jeffpak/csibroker/utils
  82. github.com/jeffpak/gorouter
  83. github.com/jghiloni/atc/atccmd
  84. github.com/jreyeshdez/go-fetcher
  85. github.com/judwhite/gorouter
  86. github.com/luan/executor/initializer
  87. github.com/mandarjog/gorouter
  88. github.com/markstgodard/atc/atccmd
  89. github.com/markstgodard/atc/radar
  90. github.com/markstgodard/gorouter
  91. github.com/mmb/atc/atccmd
  92. github.com/mmb/atc/radar
  93. github.com/onsi/grace
  94. github.com/oppegard/atc/radar
  95. github.com/rakutentech/gorouter
  96. github.com/rfliam/atc/atccmd
  97. github.com/robdimsdale/atc/radar
  98. github.com/robdimsdale/garagepi
  99. github.com/rosenhouse/cnsim
  100. github.com/savaki/atc/radar
  101. github.com/shashankmjain/gorouter
  102. github.com/shashidharatd/receptor/task_handler
  103. github.com/shinji62/atc/atccmd
  104. github.com/shinji62/atc/radar
  105. github.com/stepanstipl/atc/atccmd
  106. github.com/stepanstipl/atc/radar
  107. github.com/superryanguo/garagepi
  108. github.com/takeyourhatoff/atc/atccmd
  109. github.com/takuan-osho/bin/cmd/concourse
  110. github.com/tedsuo/diegito
  111. github.com/voelzmo/hm9000/hm
  112. github.com/wfernandes/atc/atccmd
  113. github.com/yanana/atc/atccmd
  114. github.com/yanana/atc/radar
  115. github.com/zabawaba99/atc/atccmd
  116. github.com/zabawaba99/atc/radar
  117. github.com/zachgersh/atc/atccmd
  118. github.com/zachgersh/atc/radar

Imported only in test by 16 package(s)

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

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