switch to require 'go controller.Run()'
This commit is contained in:
@@ -74,8 +74,9 @@ func New(c *Config) *Controller {
|
|||||||
|
|
||||||
// Run begins processing items, and will continue until a value is sent down stopCh.
|
// Run begins processing items, and will continue until a value is sent down stopCh.
|
||||||
// It's an error to call Run more than once.
|
// It's an error to call Run more than once.
|
||||||
// Run does not block.
|
// Run blocks; call via go.
|
||||||
func (c *Controller) Run(stopCh <-chan struct{}) {
|
func (c *Controller) Run(stopCh <-chan struct{}) {
|
||||||
|
defer util.HandleCrash()
|
||||||
cache.NewReflector(
|
cache.NewReflector(
|
||||||
c.config.ListerWatcher,
|
c.config.ListerWatcher,
|
||||||
c.config.ObjectType,
|
c.config.ObjectType,
|
||||||
@@ -83,7 +84,7 @@ func (c *Controller) Run(stopCh <-chan struct{}) {
|
|||||||
c.config.FullResyncPeriod,
|
c.config.FullResyncPeriod,
|
||||||
).RunUntil(stopCh)
|
).RunUntil(stopCh)
|
||||||
|
|
||||||
go util.Until(c.processLoop, time.Second, stopCh)
|
util.Until(c.processLoop, time.Second, stopCh)
|
||||||
}
|
}
|
||||||
|
|
||||||
// processLoop drains the work queue.
|
// processLoop drains the work queue.
|
||||||
|
@@ -94,7 +94,7 @@ func Example() {
|
|||||||
|
|
||||||
// Create the controller and run it until we close stop.
|
// Create the controller and run it until we close stop.
|
||||||
stop := make(chan struct{})
|
stop := make(chan struct{})
|
||||||
framework.New(cfg).Run(stop)
|
go framework.New(cfg).Run(stop)
|
||||||
|
|
||||||
// Let's add a few objects to the source.
|
// Let's add a few objects to the source.
|
||||||
for _, name := range []string{"a-hello", "b-controller", "c-framework"} {
|
for _, name := range []string{"a-hello", "b-controller", "c-framework"} {
|
||||||
@@ -151,7 +151,7 @@ func ExampleInformer() {
|
|||||||
|
|
||||||
// Run the controller and run it until we close stop.
|
// Run the controller and run it until we close stop.
|
||||||
stop := make(chan struct{})
|
stop := make(chan struct{})
|
||||||
controller.Run(stop)
|
go controller.Run(stop)
|
||||||
|
|
||||||
// Let's add a few objects to the source.
|
// Let's add a few objects to the source.
|
||||||
for _, name := range []string{"a-hello", "b-controller", "c-framework"} {
|
for _, name := range []string{"a-hello", "b-controller", "c-framework"} {
|
||||||
|
@@ -164,7 +164,7 @@ func (f *ConfigFactory) CreateFromKeys(predicateKeys, priorityKeys util.StringSe
|
|||||||
cache.NewReflector(f.createUnassignedPodLW(), &api.Pod{}, f.PodQueue, 0).RunUntil(f.StopEverything)
|
cache.NewReflector(f.createUnassignedPodLW(), &api.Pod{}, f.PodQueue, 0).RunUntil(f.StopEverything)
|
||||||
|
|
||||||
// Begin populating scheduled pods.
|
// Begin populating scheduled pods.
|
||||||
f.scheduledPodPopulator.Run(f.StopEverything)
|
go f.scheduledPodPopulator.Run(f.StopEverything)
|
||||||
|
|
||||||
// Watch minions.
|
// Watch minions.
|
||||||
// Minions may be listed frequently, so provide a local up-to-date cache.
|
// Minions may be listed frequently, so provide a local up-to-date cache.
|
||||||
|
Reference in New Issue
Block a user