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

Imported only in test by 14 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
  14. 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