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