dtmsvr

package
v0.0.0-...-9899e16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2022 License: BSD-3-Clause Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CronForwardDuration time.Duration = time.Duration(0)

CronForwardDuration will be set in test. cron will fetch trans which expire in CronForwardDuration

View Source
var NowForwardDuration time.Duration = time.Duration(0)

NowForwardDuration will be set in test, trans may be timeout

View Source
var TransProcessedTestChan chan string = nil

TransProcessedTestChan only for test usage. when transaction processed once, write gid to this chan

View Source
var UpdateBranchAsyncInterval = 200 * time.Millisecond

UpdateBranchAsyncInterval interval to flush branch

Functions

func CronExpiredTrans

func CronExpiredTrans(num int)

CronExpiredTrans cron expired trans, num == -1 indicate for ever

func CronTransOnce

func CronTransOnce() (gid string)

CronTransOnce cron expired trans. use expireIn as expire time

func GenGid

func GenGid() string

GenGid generate gid, use ip + snowflake

func PopulateDB

func PopulateDB(skipDrop bool)

PopulateDB setup mysql data

func StartSvr

func StartSvr()

StartSvr StartSvr

Types

type TransBranch

type TransBranch struct {
	common.ModelBase
	Gid          string
	URL          string `json:"url"`
	BinData      []byte
	BranchID     string `json:"branch_id"`
	Op           string
	Status       string
	FinishTime   *time.Time
	RollbackTime *time.Time
}

TransBranch branch transaction

func (*TransBranch) TableName

func (*TransBranch) TableName() string

TableName TableName

type TransGlobal

type TransGlobal struct {
	common.ModelBase
	Gid              string              `json:"gid"`
	TransType        string              `json:"trans_type"`
	Steps            []map[string]string `json:"steps" gorm:"-"`
	Payloads         []string            `json:"payloads" gorm:"-"`
	BinPayloads      [][]byte            `json:"-" gorm:"-"`
	Status           string              `json:"status"`
	QueryPrepared    string              `json:"query_prepared"`
	Protocol         string              `json:"protocol"`
	CommitTime       *time.Time
	FinishTime       *time.Time
	RollbackTime     *time.Time
	Options          string
	CustomData       string `json:"custom_data"`
	NextCronInterval int64
	NextCronTime     *time.Time
	dtmcli.TransOptions
	// contains filtered or unexported fields
}

TransGlobal global transaction

func TransFromContext

func TransFromContext(c *gin.Context) *TransGlobal

TransFromContext TransFromContext

func TransFromDtmRequest

func TransFromDtmRequest(c *dtmgimp.DtmRequest) *TransGlobal

TransFromDtmRequest TransFromContext

func (*TransGlobal) Process

func (t *TransGlobal) Process(db *common.DB) map[string]interface{}

Process process global transaction once

func (*TransGlobal) TableName

func (*TransGlobal) TableName() string

TableName TableName

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL