wal-g

Форк
0
/
segment_cmd_run.go 
40 строк · 1.1 Кб
1
package gp
2

3
import (
4
	"github.com/spf13/cobra"
5
	"github.com/wal-g/tracelog"
6
	conf "github.com/wal-g/wal-g/internal/config"
7
	"github.com/wal-g/wal-g/internal/databases/greenplum"
8
)
9

10
const (
11
	segmentCmdRunShortDescription = "Runs the provided cmd on segment and updates the state file"
12
)
13

14
var (
15
	segCmdRunCmd = &cobra.Command{
16
		Use:   "seg-cmd-run name args --content-id=[content_id]",
17
		Short: segmentCmdRunShortDescription, // TODO : improve description
18
		Args:  cobra.ExactArgs(2),
19
		Run: func(cmd *cobra.Command, args []string) {
20
			cmdName := args[0]
21
			cmdArgs := args[1]
22

23
			greenplum.SetSegmentStoragePrefix(contentID)
24

25
			stateUpdateInterval, err := conf.GetDurationSetting(conf.GPSegmentsUpdInterval)
26
			tracelog.ErrorLogger.FatalOnError(err)
27
			greenplum.NewSegCmdRunner(contentID, cmdName, cmdArgs, stateUpdateInterval).Run()
28
		},
29
	}
30
)
31

32
var contentID int
33

34
func init() {
35
	segCmdRunCmd.PersistentFlags().IntVar(&contentID, "content-id", 0, "segment content ID")
36
	_ = segCmdRunCmd.MarkFlagRequired("content-id")
37
	// Since this is a utility command, it should not be exposed to the end user.
38
	segCmdRunCmd.Hidden = true
39
	cmd.AddCommand(segCmdRunCmd)
40
}
41

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.