Merge branch 'master' of https://github.com/hashicorp/nomad
This commit is contained in:
commit
7e11f4fcca
|
@ -53,6 +53,7 @@ type AllocRunner struct {
|
|||
destroy bool
|
||||
destroyCh chan struct{}
|
||||
destroyLock sync.Mutex
|
||||
waitCh chan struct{}
|
||||
}
|
||||
|
||||
// allocRunnerState is used to snapshot the state of the alloc runner
|
||||
|
@ -74,6 +75,7 @@ func NewAllocRunner(logger *log.Logger, config *config.Config, updater AllocStat
|
|||
taskStatus: make(map[string]taskStatus),
|
||||
updateCh: make(chan *structs.Allocation, 8),
|
||||
destroyCh: make(chan struct{}),
|
||||
waitCh: make(chan struct{}),
|
||||
}
|
||||
return ar
|
||||
}
|
||||
|
@ -258,6 +260,7 @@ func (r *AllocRunner) setTaskStatus(taskName, status, desc string) {
|
|||
|
||||
// Run is a long running goroutine used to manage an allocation
|
||||
func (r *AllocRunner) Run() {
|
||||
defer close(r.waitCh)
|
||||
go r.dirtySyncState()
|
||||
|
||||
// Check if the allocation is in a terminal status
|
||||
|
@ -376,3 +379,8 @@ func (r *AllocRunner) Destroy() {
|
|||
r.destroy = true
|
||||
close(r.destroyCh)
|
||||
}
|
||||
|
||||
// WaitCh returns a channel to wait for termination
|
||||
func (r *AllocRunner) WaitCh() <-chan struct{} {
|
||||
return r.waitCh
|
||||
}
|
||||
|
|
|
@ -184,6 +184,15 @@ func (c *Client) Shutdown() error {
|
|||
if c.shutdown {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Destroy all the running allocations.
|
||||
if c.config.DevMode {
|
||||
for _, ar := range c.allocs {
|
||||
ar.Destroy()
|
||||
<-ar.WaitCh()
|
||||
}
|
||||
}
|
||||
|
||||
c.shutdown = true
|
||||
close(c.shutdownCh)
|
||||
c.connPool.Shutdown()
|
||||
|
|
|
@ -122,7 +122,7 @@ job "example" {
|
|||
memory = 256 # 256MB
|
||||
network {
|
||||
mbits = 10
|
||||
dynamic_ports = ["redis"]
|
||||
dynamic_ports = ["6379"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-62364009-1', 'auto');
|
||||
ga('create', 'UA-68490725-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
|
|
Loading…
Reference in New Issue