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 70 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/bbs/cmd/bbs
  33. github.com/cloudfoundry/dockerapplifecycle/builder
  34. github.com/cloudfoundry/executor/initializer
  35. github.com/cloudfoundry/garden-windows/integration/helpers
  36. github.com/cloudfoundry/gorouter
  37. github.com/cloudfoundry/hm9000/hm
  38. github.com/cloudfoundry/localbroker/utils
  39. github.com/cloudfoundry/volman/vollocal
  40. github.com/concourse/atc/atccmd
  41. github.com/concourse/atc/radar
  42. github.com/concourse/baggageclaim/baggageclaimcmd
  43. github.com/concourse/blackbox
  44. github.com/cunnie/atc/atccmd
  45. github.com/cunnie/atc/radar
  46. github.com/ematpl/redirector
  47. github.com/gogolok/go-leader-election-sample
  48. github.com/jberkhahn/hm9000/hm
  49. github.com/jreyeshdez/go-fetcher
  50. github.com/mandarjog/gorouter
  51. github.com/mmb/atc/atccmd
  52. github.com/mmb/atc/radar
  53. github.com/onsi/grace
  54. github.com/oppegard/atc/radar
  55. github.com/rakutentech/gorouter
  56. github.com/robdimsdale/atc/radar
  57. github.com/robdimsdale/garagepi
  58. github.com/rosenhouse/cnsim
  59. github.com/savaki/atc/radar
  60. github.com/shashankmjain/gorouter
  61. github.com/shashidharatd/receptor/task_handler
  62. github.com/shinji62/atc/atccmd
  63. github.com/shinji62/atc/radar
  64. github.com/takuan-osho/bin/cmd/concourse
  65. github.com/tedsuo/diegito
  66. github.com/voelzmo/hm9000/hm
  67. github.com/yanana/atc/atccmd
  68. github.com/yanana/atc/radar
  69. github.com/zachgersh/atc/atccmd
  70. 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