fixes re: @jcjones
This commit is contained in:
parent
16e0799742
commit
e8ac96d68d
|
|
@ -7,8 +7,6 @@ package main
|
|||
|
||||
import (
|
||||
"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/letsencrypt/boulder/ca"
|
||||
"github.com/letsencrypt/boulder/cmd"
|
||||
|
|
@ -26,7 +24,7 @@ func main() {
|
|||
cai, err := ca.NewCertificateAuthorityImpl(auditlogger, c.CA.Server, c.CA.AuthKey, c.CA.Profile)
|
||||
cmd.FailOnError(err, "Failed to create CA impl")
|
||||
|
||||
for true {
|
||||
for {
|
||||
ch := cmd.AmqpChannel(c.AMQP.Server)
|
||||
closeChan := ch.NotifyClose(make(chan *amqp.Error, 1))
|
||||
|
||||
|
|
@ -38,17 +36,7 @@ func main() {
|
|||
cas, err := rpc.NewCertificateAuthorityServer(c.AMQP.CA.Server, ch, cai)
|
||||
cmd.FailOnError(err, "Unable to create CA server")
|
||||
|
||||
forever := make(chan bool)
|
||||
go func() {
|
||||
for err := range closeChan {
|
||||
log.Printf(" [!] AMQP Channel closed: [%s]", err)
|
||||
time.Sleep(time.Second*10)
|
||||
log.Printf(" [!] Reconnecting to AMQP...")
|
||||
close(forever)
|
||||
return
|
||||
}
|
||||
}()
|
||||
cmd.MaybeRunForever(cas, forever)
|
||||
cmd.RunUntilSignaled(auditlogger, cas, closeChan)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ package main
|
|||
|
||||
import (
|
||||
"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/letsencrypt/boulder/cmd"
|
||||
blog "github.com/letsencrypt/boulder/log"
|
||||
|
|
@ -45,17 +43,7 @@ func main() {
|
|||
ras, err := rpc.NewRegistrationAuthorityServer(c.AMQP.RA.Server, ch, &rai)
|
||||
cmd.FailOnError(err, "Unable to create RA server")
|
||||
|
||||
forever := make(chan bool)
|
||||
go func() {
|
||||
for err := range closeChan {
|
||||
log.Printf(" [!] AMQP Channel closed: [%s]", err)
|
||||
time.Sleep(time.Second*10)
|
||||
log.Printf(" [!] Reconnecting to AMQP...")
|
||||
close(forever)
|
||||
return
|
||||
}
|
||||
}()
|
||||
cmd.MaybeRunForever(ras, forever)
|
||||
cmd.RunUntilSignaled(auditlogger, ras, closeChan)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ package main
|
|||
|
||||
import (
|
||||
"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
// Load both drivers to allow configuring either
|
||||
_ "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/go-sql-driver/mysql"
|
||||
|
|
@ -23,10 +21,10 @@ func main() {
|
|||
app := cmd.NewAppShell("boulder-sa")
|
||||
app.Action = func(c cmd.Config) {
|
||||
// Set up logging
|
||||
logger, err := blog.Dial(c.Syslog.Network, c.Syslog.Server, c.Syslog.Tag)
|
||||
auditlogger, err := blog.Dial(c.Syslog.Network, c.Syslog.Server, c.Syslog.Tag)
|
||||
cmd.FailOnError(err, "Could not connect to Syslog")
|
||||
|
||||
sai, err := sa.NewSQLStorageAuthority(logger, c.SA.DBDriver, c.SA.DBName)
|
||||
sai, err := sa.NewSQLStorageAuthority(auditlogger, c.SA.DBDriver, c.SA.DBName)
|
||||
cmd.FailOnError(err, "Failed to create SA impl")
|
||||
|
||||
for true {
|
||||
|
|
@ -35,17 +33,7 @@ func main() {
|
|||
|
||||
sas := rpc.NewStorageAuthorityServer(c.AMQP.SA.Server, ch, sai)
|
||||
|
||||
forever := make(chan bool)
|
||||
go func() {
|
||||
for err := range closeChan {
|
||||
log.Printf(" [!] AMQP Channel closed: [%s]", err)
|
||||
time.Sleep(time.Second*10)
|
||||
log.Printf(" [!] Reconnecting to AMQP...")
|
||||
close(forever)
|
||||
return
|
||||
}
|
||||
}()
|
||||
cmd.MaybeRunForever(sas, forever)
|
||||
cmd.RunUntilSignaled(auditlogger, sas, closeChan)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ package main
|
|||
|
||||
import (
|
||||
"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/letsencrypt/boulder/cmd"
|
||||
blog "github.com/letsencrypt/boulder/log"
|
||||
|
|
@ -37,17 +35,7 @@ func main() {
|
|||
vas, err := rpc.NewValidationAuthorityServer(c.AMQP.VA.Server, ch, &vai)
|
||||
cmd.FailOnError(err, "Unable to create VA server")
|
||||
|
||||
forever := make(chan bool)
|
||||
go func() {
|
||||
for err := range closeChan {
|
||||
log.Printf(" [!] AMQP Channel closed: [%s]", err)
|
||||
time.Sleep(time.Second*10)
|
||||
log.Printf(" [!] Reconnecting to AMQP...")
|
||||
close(forever)
|
||||
return
|
||||
}
|
||||
}()
|
||||
cmd.MaybeRunForever(vas, forever)
|
||||
cmd.RunUntilSignaled(auditlogger, vas, closeChan)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import (
|
|||
"net/http"
|
||||
|
||||
"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/letsencrypt/boulder/cmd"
|
||||
|
|
@ -50,12 +49,12 @@ func main() {
|
|||
// with new RA and SA rpc clients.
|
||||
for true {
|
||||
for err := range closeChan {
|
||||
log.Printf(" [!] AMQP Channel closed: [%s]", err)
|
||||
time.Sleep(time.Second*10)
|
||||
auditlogger.Warning(fmt.Sprintf("AMQP Channel closed, will reconnect in 5 seconds: [%s]", err))
|
||||
time.Sleep(time.Second*5)
|
||||
rac, sac, closeChan = setupWFE(c, auditlogger)
|
||||
wfe.RA = &rac
|
||||
wfe.SA = &sac
|
||||
log.Printf(" [!] Reconnected to AMQP")
|
||||
auditlogger.Warning("Reconnected to AMQP")
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
|
|
|||
14
cmd/shell.go
14
cmd/shell.go
|
|
@ -26,9 +26,11 @@ import (
|
|||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/codegangsta/cli"
|
||||
"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
|
||||
blog "github.com/letsencrypt/boulder/log"
|
||||
"github.com/letsencrypt/boulder/rpc"
|
||||
)
|
||||
|
||||
|
|
@ -142,9 +144,15 @@ func RunForever(server *rpc.AmqpRPCServer) {
|
|||
<-forever
|
||||
}
|
||||
|
||||
// Start the server and maybe wait around forever...
|
||||
func MaybeRunForever(server *rpc.AmqpRPCServer, forever chan bool) {
|
||||
// Start the server and run until we get something on closeChan
|
||||
func RunUntilSignaled(logger *blog.AuditLogger, server *rpc.AmqpRPCServer, closeChan chan *amqp.Error) {
|
||||
server.Start()
|
||||
fmt.Fprintf(os.Stderr, "Server running...\n")
|
||||
<-forever
|
||||
|
||||
// Block until channel closes
|
||||
err := <- closeChan
|
||||
|
||||
logger.Warning(fmt.Sprintf("AMQP Channel closed, will reconnect in 5 seconds: [%s]", err))
|
||||
time.Sleep(time.Second*5)
|
||||
logger.Warning("Reconnecting to AMQP...")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue