mutex

package
v0.0.0-...-2f5502e Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

Package mutex provides concurrency control for index workers and database operations.

Copyright (c) 2018 - 2024 PhotoPrism UG. All rights reserved.

This program is free software: you can redistribute it and/or modify
it under Version 3 of the GNU Affero General Public License (the "AGPL"):
<https://docs.photoprism.app/license/agpl>

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

The AGPL is supplemented by our Trademark and Brand Guidelines,
which describe how our Brand Assets may be used:
<https://www.photoprism.app/trademark>

Feel free to send an email to hello@photoprism.app if you have questions, want to support our work, or just want to say hello.

Additional information can be found in our Developer Guide: <https://docs.photoprism.app/developer-guide/>

Index

Constants

This section is empty.

Variables

View Source
var (
	MainWorker   = Activity{}
	SyncWorker   = Activity{}
	ShareWorker  = Activity{}
	MetaWorker   = Activity{}
	FacesWorker  = Activity{}
	UpdatePeople = Activity{}
)

Activities that can be started and stopped.

View Source
var (
	Db    = sync.Mutex{}
	Index = sync.Mutex{}
)

Shared resources.

View Source
var Restart = atomic.Bool{}

Restart signals that the application should be restarted, e.g. after an update or a config changes.

Functions

func CancelAll

func CancelAll()

CancelAll requests to stop all activities.

func IndexWorkersRunning

func IndexWorkersRunning() bool

IndexWorkersRunning checks if a worker is currently running.

Types

type Activity

type Activity struct {
	// contains filtered or unexported fields
}

Activity represents work that can be started and stopped.

func (*Activity) Cancel

func (b *Activity) Cancel()

Cancel requests to stop the Activity.

func (*Activity) Canceled

func (b *Activity) Canceled() bool

Canceled marks the Activity as stopped.

func (*Activity) Running

func (b *Activity) Running() bool

Running checks if the Activity is currently running.

func (*Activity) Start

func (b *Activity) Start() error

Start marks the Activity as started and returns an error if it is already running.

func (*Activity) Stop

func (b *Activity) Stop()

Stop marks the Activity as stopped.

Jump to

Keyboard shortcuts

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