Documentation
¶
Index ¶
- Constants
- Variables
- func AllReplicationQueues(id entity.UniversalReplicationID) []string
- func ConsistencyCheckQueue(id entity.ConsistencyCheckID) string
- func EventMigrationQueue(id entity.UniversalReplicationID) string
- func InitMigrationCopyQueue(id entity.UniversalReplicationID) string
- func InitMigrationListQueue(id entity.UniversalReplicationID) string
- func NewQueueService(client *asynq.Client, inspector *asynq.Inspector) *queueService
- func Reset(q *QueueServiceMock)
- type BucketCreatePayload
- type BucketDeletePayload
- type BucketSyncACLPayload
- type BucketSyncTagsPayload
- type ConsistencyCheckListObjectsPayload
- type ConsistencyCheckListVersionsPayload
- type ConsistencyCheckPayload
- type ListObjectVersionsPayload
- type MigrateBucketListObjectsPayload
- type MigrateLocation
- type MigrateObjCopyPayload
- type MigrateS3UserPayload
- type MigrateVersionedObjectPayload
- type ObjInfo
- type ObjPayload
- type ObjSyncACLPayload
- type ObjSyncTagsPayload
- type ObjectSyncPayload
- type Queue
- type QueueService
- type QueueServiceMock
- func (q *QueueServiceMock) Delete(ctx context.Context, queueName string, force bool) error
- func (q *QueueServiceMock) EnqueueTask(ctx context.Context, task any) error
- func (q *QueueServiceMock) EventReplicationDone(id entity.UniversalReplicationID)
- func (q *QueueServiceMock) EventReplicationInProgress(id entity.UniversalReplicationID)
- func (q *QueueServiceMock) EventReplicationLag(id entity.UniversalReplicationID, lag int)
- func (q *QueueServiceMock) InitReplicationDone(id entity.UniversalReplicationID)
- func (q *QueueServiceMock) InitReplicationInProgress(id entity.UniversalReplicationID)
- func (q *QueueServiceMock) IsPaused(ctx context.Context, queueName string) (bool, error)
- func (q *QueueServiceMock) Pause(ctx context.Context, queueName string) error
- func (q *QueueServiceMock) Resume(ctx context.Context, queueName string) error
- func (q *QueueServiceMock) Stats(ctx context.Context, queueName string) (*QueueStats, error)
- func (q *QueueServiceMock) UnprocessedCount(ctx context.Context, ignoreNotfound bool, queueName ...string) (int, error)
- type QueueStats
- type ReplicationTask
- type SwiftAccountMigrationPayload
- type SwiftAccountUpdatePayload
- type SwiftContainerMigrationPayload
- type SwiftContainerUpdatePayload
- type SwiftObjectDeletePayload
- type SwiftObjectMetaUpdatePayload
- type SwiftObjectMigrationPayload
- type SwiftObjectUpdatePayload
- type SwitchWithDowntimePayload
- type TaskPayload
- type ZeroDowntimeReplicationSwitchPayload
Constants ¶
View Source
const ( TypeBucketCreate = "bucket:create" TypeBucketDelete = "bucket:delete" TypeBucketSyncTags = "bucket:sync:tags" TypeBucketSyncACL = "bucket:sync:acl" TypeObjectSync = "object:sync" TypeObjectSyncTags = "object:sync:tags" TypeObjectSyncACL = "object:sync:acl" TypeMigrateS3User = "migrate:user" TypeMigrateBucketListObjects = "migrate:bucket:list_objects" TypeMigrateObjCopy = "migrate:object:copy" TypeMigrateObjectListVersions = "migrate:object:list_versions" TypeMigrateVersionedObject = "migrate:object:copy_versioned" TypeConsistencyCheck = "consistency" TypeConsistencyCheckListObjects = "consistency:list_objects" TypeConsistencyCheckListVersions = "consistency:list_versions" TypeApiZeroDowntimeSwitch = "api:switch_zero_downtime" TypeApiSwitchWithDowntime = "api:switch_w_downtime" // swift tasks: TypeSwiftAccountUpdate = "account:update" TypeSwiftContainerUpdate = "container:update" TypeSwiftObjUpdate = "obj:update" TypeSwiftObjMetaUpdate = "obj:meta:update" TypeSwiftObjDelete = "obj:del" TypeSwiftAccountMigration = "migrate:swift:account" TypeSwiftContainerMigration = "migrate:swift:container" TypeSwiftObjectMigration = "migrate:swift:obj" )
A list of task types.
Variables ¶
View Source
var Priority = map[string]int{ string(QueueAPI): 200, string(QueueMigrateListObjectsPrefix) + ":*": 100, string(QueueConsistencyCheck) + ":*": 50, string(QueueMigrateCopyObjectPrefix) + ":*": 10, string(QueueEventsPrefix) + ":*": 5, "*": 1, }
Priority defines the priority of the queues from highest to lowest.
Functions ¶
func AllReplicationQueues ¶ added in v0.6.0
func AllReplicationQueues(id entity.UniversalReplicationID) []string
func ConsistencyCheckQueue ¶ added in v0.6.0
func ConsistencyCheckQueue(id entity.ConsistencyCheckID) string
func EventMigrationQueue ¶ added in v0.7.0
func EventMigrationQueue(id entity.UniversalReplicationID) string
func InitMigrationCopyQueue ¶ added in v0.7.0
func InitMigrationCopyQueue(id entity.UniversalReplicationID) string
func InitMigrationListQueue ¶ added in v0.7.0
func InitMigrationListQueue(id entity.UniversalReplicationID) string
func NewQueueService ¶ added in v0.6.0
func Reset ¶ added in v0.6.0
func Reset(q *QueueServiceMock)
Types ¶
type BucketCreatePayload ¶
type BucketCreatePayload struct {
Bucket string
Location string
// contains filtered or unexported fields
}
func (*BucketCreatePayload) GetReplicationID ¶ added in v0.6.0
func (r *BucketCreatePayload) GetReplicationID() entity.UniversalReplicationID
func (*BucketCreatePayload) SetReplicationID ¶ added in v0.6.0
func (r *BucketCreatePayload) SetReplicationID(id entity.UniversalReplicationID)
type BucketDeletePayload ¶
type BucketDeletePayload struct {
Bucket string
// contains filtered or unexported fields
}
func (*BucketDeletePayload) GetReplicationID ¶ added in v0.6.0
func (r *BucketDeletePayload) GetReplicationID() entity.UniversalReplicationID
func (*BucketDeletePayload) SetReplicationID ¶ added in v0.6.0
func (r *BucketDeletePayload) SetReplicationID(id entity.UniversalReplicationID)
type BucketSyncACLPayload ¶
type BucketSyncACLPayload struct {
Bucket string
// contains filtered or unexported fields
}
func (*BucketSyncACLPayload) GetReplicationID ¶ added in v0.6.0
func (r *BucketSyncACLPayload) GetReplicationID() entity.UniversalReplicationID
func (*BucketSyncACLPayload) SetReplicationID ¶ added in v0.6.0
func (r *BucketSyncACLPayload) SetReplicationID(id entity.UniversalReplicationID)
type BucketSyncTagsPayload ¶
type BucketSyncTagsPayload struct {
Bucket string
// contains filtered or unexported fields
}
func (*BucketSyncTagsPayload) GetReplicationID ¶ added in v0.6.0
func (r *BucketSyncTagsPayload) GetReplicationID() entity.UniversalReplicationID
func (*BucketSyncTagsPayload) SetReplicationID ¶ added in v0.6.0
func (r *BucketSyncTagsPayload) SetReplicationID(id entity.UniversalReplicationID)
type ConsistencyCheckListObjectsPayload ¶ added in v0.6.0
type ConsistencyCheckListVersionsPayload ¶ added in v0.6.0
type ConsistencyCheckListVersionsPayload struct {
User string
Prefix string
Locations []MigrateLocation
Index int
IgnoreSizes bool
}
type ConsistencyCheckPayload ¶ added in v0.5.14
type ConsistencyCheckPayload struct {
User string
Locations []MigrateLocation
Versioned bool
IgnoreSizes bool
}
type ListObjectVersionsPayload ¶ added in v0.6.0
type ListObjectVersionsPayload struct {
Bucket string
Prefix string
// contains filtered or unexported fields
}
func (*ListObjectVersionsPayload) GetReplicationID ¶ added in v0.6.0
func (r *ListObjectVersionsPayload) GetReplicationID() entity.UniversalReplicationID
func (*ListObjectVersionsPayload) SetReplicationID ¶ added in v0.6.0
func (r *ListObjectVersionsPayload) SetReplicationID(id entity.UniversalReplicationID)
type MigrateBucketListObjectsPayload ¶
type MigrateBucketListObjectsPayload struct {
Bucket string
Prefix string
Versioned bool
// contains filtered or unexported fields
}
func (*MigrateBucketListObjectsPayload) GetReplicationID ¶ added in v0.6.0
func (r *MigrateBucketListObjectsPayload) GetReplicationID() entity.UniversalReplicationID
func (*MigrateBucketListObjectsPayload) SetReplicationID ¶ added in v0.6.0
func (r *MigrateBucketListObjectsPayload) SetReplicationID(id entity.UniversalReplicationID)
type MigrateLocation ¶ added in v0.5.14
type MigrateObjCopyPayload ¶
type MigrateObjCopyPayload struct {
Bucket string
Obj ObjPayload
// contains filtered or unexported fields
}
func (*MigrateObjCopyPayload) GetReplicationID ¶ added in v0.6.0
func (r *MigrateObjCopyPayload) GetReplicationID() entity.UniversalReplicationID
func (*MigrateObjCopyPayload) SetReplicationID ¶ added in v0.6.0
func (r *MigrateObjCopyPayload) SetReplicationID(id entity.UniversalReplicationID)
type MigrateS3UserPayload ¶ added in v0.7.0
type MigrateS3UserPayload struct {
// contains filtered or unexported fields
}
func (*MigrateS3UserPayload) GetReplicationID ¶ added in v0.7.0
func (r *MigrateS3UserPayload) GetReplicationID() entity.UniversalReplicationID
func (*MigrateS3UserPayload) SetReplicationID ¶ added in v0.7.0
func (r *MigrateS3UserPayload) SetReplicationID(id entity.UniversalReplicationID)
type MigrateVersionedObjectPayload ¶ added in v0.6.0
type MigrateVersionedObjectPayload struct {
Bucket string
Prefix string
// contains filtered or unexported fields
}
func (*MigrateVersionedObjectPayload) GetReplicationID ¶ added in v0.6.0
func (r *MigrateVersionedObjectPayload) GetReplicationID() entity.UniversalReplicationID
func (*MigrateVersionedObjectPayload) SetReplicationID ¶ added in v0.6.0
func (r *MigrateVersionedObjectPayload) SetReplicationID(id entity.UniversalReplicationID)
type ObjPayload ¶
type ObjSyncACLPayload ¶
func (*ObjSyncACLPayload) GetReplicationID ¶ added in v0.6.0
func (r *ObjSyncACLPayload) GetReplicationID() entity.UniversalReplicationID
func (*ObjSyncACLPayload) SetReplicationID ¶ added in v0.6.0
func (r *ObjSyncACLPayload) SetReplicationID(id entity.UniversalReplicationID)
type ObjSyncTagsPayload ¶
func (*ObjSyncTagsPayload) GetReplicationID ¶ added in v0.6.0
func (r *ObjSyncTagsPayload) GetReplicationID() entity.UniversalReplicationID
func (*ObjSyncTagsPayload) SetReplicationID ¶ added in v0.6.0
func (r *ObjSyncTagsPayload) SetReplicationID(id entity.UniversalReplicationID)
type ObjectSyncPayload ¶
type ObjectSyncPayload struct {
Object dom.Object
//FromVersion int64
ObjSize int64
Deleted bool
// contains filtered or unexported fields
}
func (*ObjectSyncPayload) GetReplicationID ¶ added in v0.6.0
func (r *ObjectSyncPayload) GetReplicationID() entity.UniversalReplicationID
func (*ObjectSyncPayload) SetReplicationID ¶ added in v0.6.0
func (r *ObjectSyncPayload) SetReplicationID(id entity.UniversalReplicationID)
type QueueService ¶ added in v0.6.0
type QueueService interface {
UnprocessedCount(ctx context.Context, ignoreNotFound bool, queues ...string) (int, error)
IsPaused(ctx context.Context, queueName string) (bool, error)
Resume(ctx context.Context, queueName string) error
Pause(ctx context.Context, queueName string) error
Delete(ctx context.Context, queueName string, force bool) error
Stats(ctx context.Context, queueName string) (*QueueStats, error)
EnqueueTask(ctx context.Context, task any) error
}
type QueueServiceMock ¶ added in v0.6.0
func (*QueueServiceMock) EnqueueTask ¶ added in v0.6.0
func (q *QueueServiceMock) EnqueueTask(ctx context.Context, task any) error
func (*QueueServiceMock) EventReplicationDone ¶ added in v0.6.0
func (q *QueueServiceMock) EventReplicationDone(id entity.UniversalReplicationID)
EventReplicationDone test helper to make event replication queue empty
func (*QueueServiceMock) EventReplicationInProgress ¶ added in v0.6.0
func (q *QueueServiceMock) EventReplicationInProgress(id entity.UniversalReplicationID)
EventReplicationInProgress test helper to make event replication queue non-empty
func (*QueueServiceMock) EventReplicationLag ¶ added in v0.6.0
func (q *QueueServiceMock) EventReplicationLag(id entity.UniversalReplicationID, lag int)
func (*QueueServiceMock) InitReplicationDone ¶ added in v0.6.0
func (q *QueueServiceMock) InitReplicationDone(id entity.UniversalReplicationID)
InitReplicationDone test helper to make init replication queues empty
func (*QueueServiceMock) InitReplicationInProgress ¶ added in v0.6.0
func (q *QueueServiceMock) InitReplicationInProgress(id entity.UniversalReplicationID)
InitReplicationInProgress test helper to initialize queues for replication in progress
func (*QueueServiceMock) Pause ¶ added in v0.6.0
func (q *QueueServiceMock) Pause(ctx context.Context, queueName string) error
func (*QueueServiceMock) Resume ¶ added in v0.6.0
func (q *QueueServiceMock) Resume(ctx context.Context, queueName string) error
func (*QueueServiceMock) Stats ¶ added in v0.6.0
func (q *QueueServiceMock) Stats(ctx context.Context, queueName string) (*QueueStats, error)
func (*QueueServiceMock) UnprocessedCount ¶ added in v0.6.0
type QueueStats ¶ added in v0.6.0
type QueueStats struct {
// Number of tasks to be processed in the queue.
// Includes includes in_progress, not_started, and retied tasks.
// In other words, all tasks except failed and processed tasks.
Unprocessed int
// Total number of tasks processed.
ProcessedTotal int
// Paused indicates whether the queue is paused.
// If true, tasks in the queue will not be processed.
Paused bool
// Total number of bytes that the queue and its tasks require to be stored in redis.
// It is an approximate memory usage value in bytes since the value is computed by sampling.
MemoryUsage int64
// Latency of the queue, measured by the oldest pending task in the queue.
Latency time.Duration
}
type ReplicationTask ¶ added in v0.6.0
type ReplicationTask interface {
SetReplicationID(id entity.UniversalReplicationID)
GetReplicationID() entity.UniversalReplicationID
}
type SwiftAccountMigrationPayload ¶ added in v0.7.0
type SwiftAccountMigrationPayload struct {
// contains filtered or unexported fields
}
func (*SwiftAccountMigrationPayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftAccountMigrationPayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftAccountMigrationPayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftAccountMigrationPayload) SetReplicationID(id entity.UniversalReplicationID)
type SwiftAccountUpdatePayload ¶ added in v0.7.0
type SwiftAccountUpdatePayload struct {
// Date of the server response. Not Account modification date, so it cannot be
// compared with Last-modified directly, but can be used as a reference
// because Openstack Swift does not return Last-Modified for Account Updates
Date string
// contains filtered or unexported fields
}
func (*SwiftAccountUpdatePayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftAccountUpdatePayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftAccountUpdatePayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftAccountUpdatePayload) SetReplicationID(id entity.UniversalReplicationID)
type SwiftContainerMigrationPayload ¶ added in v0.7.0
type SwiftContainerMigrationPayload struct {
Bucket string
// contains filtered or unexported fields
}
func (*SwiftContainerMigrationPayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftContainerMigrationPayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftContainerMigrationPayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftContainerMigrationPayload) SetReplicationID(id entity.UniversalReplicationID)
type SwiftContainerUpdatePayload ¶ added in v0.7.0
type SwiftContainerUpdatePayload struct {
Bucket string
// Date of the server response. Not Container modification date, so it cannot be
// compared with Last-modified directly, but can be used as a reference
// because Openstack Swift does not return Last-Modified for Container Updates
Date string
// contains filtered or unexported fields
}
func (*SwiftContainerUpdatePayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftContainerUpdatePayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftContainerUpdatePayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftContainerUpdatePayload) SetReplicationID(id entity.UniversalReplicationID)
type SwiftObjectDeletePayload ¶ added in v0.7.0
type SwiftObjectDeletePayload struct {
Bucket string
Object string
VersionID string
// Date of the server response. Not Object deletion date, so it cannot be
// compared with Last-modified directly, but can be used as a reference
// because Openstack Swift does not return Last-Modified for Object delete
Date string
DeleteMultipart bool
// contains filtered or unexported fields
}
func (*SwiftObjectDeletePayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectDeletePayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftObjectDeletePayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectDeletePayload) SetReplicationID(id entity.UniversalReplicationID)
type SwiftObjectMetaUpdatePayload ¶ added in v0.7.0
type SwiftObjectMetaUpdatePayload struct {
Bucket string
Object string
// Date of the server response. Not Object modification date, so it cannot be
// compared with Last-modified directly, but can be used as a reference
// because Openstack Swift does not return Last-Modified for Object Meta Updates
Date string
// contains filtered or unexported fields
}
func (*SwiftObjectMetaUpdatePayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectMetaUpdatePayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftObjectMetaUpdatePayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectMetaUpdatePayload) SetReplicationID(id entity.UniversalReplicationID)
type SwiftObjectMigrationPayload ¶ added in v0.7.0
type SwiftObjectMigrationPayload struct {
Bucket string
ObjName string
ObjVersion string
ObjEtag string
ObjLastModified string
ObjSize int64
// contains filtered or unexported fields
}
func (*SwiftObjectMigrationPayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectMigrationPayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftObjectMigrationPayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectMigrationPayload) SetReplicationID(id entity.UniversalReplicationID)
type SwiftObjectUpdatePayload ¶ added in v0.7.0
type SwiftObjectUpdatePayload struct {
Bucket string
Object string
VersionID string
Etag string
LastModified string
// contains filtered or unexported fields
}
func (*SwiftObjectUpdatePayload) GetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectUpdatePayload) GetReplicationID() entity.UniversalReplicationID
func (*SwiftObjectUpdatePayload) SetReplicationID ¶ added in v0.7.0
func (r *SwiftObjectUpdatePayload) SetReplicationID(id entity.UniversalReplicationID)
type SwitchWithDowntimePayload ¶ added in v0.5.14
type SwitchWithDowntimePayload struct {
ID entity.UniversalReplicationID
}
type TaskPayload ¶ added in v0.6.0
type TaskPayload interface {
BucketCreatePayload |
BucketDeletePayload |
BucketSyncTagsPayload |
BucketSyncACLPayload |
ObjectSyncPayload |
ObjSyncTagsPayload |
ObjSyncACLPayload |
MigrateS3UserPayload |
MigrateBucketListObjectsPayload |
MigrateObjCopyPayload |
ListObjectVersionsPayload |
MigrateVersionedObjectPayload |
ZeroDowntimeReplicationSwitchPayload |
SwitchWithDowntimePayload |
SwiftAccountUpdatePayload |
SwiftContainerUpdatePayload |
SwiftObjectMetaUpdatePayload |
SwiftObjectUpdatePayload |
SwiftObjectDeletePayload |
SwiftAccountMigrationPayload |
SwiftContainerMigrationPayload |
SwiftObjectMigrationPayload |
ConsistencyCheckPayload |
ConsistencyCheckListObjectsPayload |
ConsistencyCheckListVersionsPayload
}
type ZeroDowntimeReplicationSwitchPayload ¶ added in v0.5.14
type ZeroDowntimeReplicationSwitchPayload struct {
ID entity.UniversalReplicationID
}
Click to show internal directories.
Click to hide internal directories.