|
|
@ -49,6 +49,7 @@ func Start(ctx context.Context, conf *Config, client discovery.SvcDiscoveryRegis
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var locker Locker
|
|
|
|
if conf.Discovery.Enable == config.ETCD {
|
|
|
|
if conf.Discovery.Enable == config.ETCD {
|
|
|
|
cm := disetcd.NewConfigManager(client.(*etcd.SvcDiscoveryRegistryImpl).GetClient(), []string{
|
|
|
|
cm := disetcd.NewConfigManager(client.(*etcd.SvcDiscoveryRegistryImpl).GetClient(), []string{
|
|
|
|
conf.CronTask.GetConfigFileName(),
|
|
|
|
conf.CronTask.GetConfigFileName(),
|
|
|
@ -56,11 +57,14 @@ func Start(ctx context.Context, conf *Config, client discovery.SvcDiscoveryRegis
|
|
|
|
conf.Discovery.GetConfigFileName(),
|
|
|
|
conf.Discovery.GetConfigFileName(),
|
|
|
|
})
|
|
|
|
})
|
|
|
|
cm.Watch(ctx)
|
|
|
|
cm.Watch(ctx)
|
|
|
|
|
|
|
|
locker, err = NewEtcdLocker(client.(*etcd.SvcDiscoveryRegistryImpl).GetClient())
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
locker, err := NewEtcdLocker(client.(*etcd.SvcDiscoveryRegistryImpl).GetClient())
|
|
|
|
if locker == nil {
|
|
|
|
if err != nil {
|
|
|
|
locker = emptyLocker{}
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
srv := &cronServer{
|
|
|
|
srv := &cronServer{
|
|
|
@ -92,6 +96,16 @@ func Start(ctx context.Context, conf *Config, client discovery.SvcDiscoveryRegis
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type Locker interface {
|
|
|
|
|
|
|
|
ExecuteWithLock(ctx context.Context, taskName string, task func())
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type emptyLocker struct{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func (emptyLocker) ExecuteWithLock(ctx context.Context, taskName string, task func()) {
|
|
|
|
|
|
|
|
task()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type cronServer struct {
|
|
|
|
type cronServer struct {
|
|
|
|
ctx context.Context
|
|
|
|
ctx context.Context
|
|
|
|
config *Config
|
|
|
|
config *Config
|
|
|
@ -99,7 +113,7 @@ type cronServer struct {
|
|
|
|
msgClient msg.MsgClient
|
|
|
|
msgClient msg.MsgClient
|
|
|
|
conversationClient pbconversation.ConversationClient
|
|
|
|
conversationClient pbconversation.ConversationClient
|
|
|
|
thirdClient third.ThirdClient
|
|
|
|
thirdClient third.ThirdClient
|
|
|
|
locker *EtcdLocker
|
|
|
|
locker Locker
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func (c *cronServer) registerClearS3() error {
|
|
|
|
func (c *cronServer) registerClearS3() error {
|
|
|
|