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