mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-07 05:42:42 +00:00
Make database open attempts configurable also via config file
This commit is contained in:
committed by
Andrey Smirnov
parent
586f879e80
commit
98e75f6d97
+7
-1
@@ -259,7 +259,13 @@ func (context *AptlyContext) _database() (database.Storage, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tries := context.flags.Lookup("db-open-attempts").Value.Get().(int)
|
var tries int
|
||||||
|
if context.config().DatabaseOpenAttempts == -1 {
|
||||||
|
tries = context.flags.Lookup("db-open-attempts").Value.Get().(int)
|
||||||
|
} else {
|
||||||
|
tries = context.config().DatabaseOpenAttempts
|
||||||
|
}
|
||||||
|
|
||||||
const BaseDelay = 10 * time.Second
|
const BaseDelay = 10 * time.Second
|
||||||
const Jitter = 1 * time.Second
|
const Jitter = 1 * time.Second
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ Configuration file is stored in JSON format (default values shown below):
|
|||||||
"downloadSpeedLimit": 0,
|
"downloadSpeedLimit": 0,
|
||||||
"downloadRetries": 0,
|
"downloadRetries": 0,
|
||||||
"architectures": [],
|
"architectures": [],
|
||||||
|
"databaseOpenAttempts": 10,
|
||||||
"dependencyFollowSuggests": false,
|
"dependencyFollowSuggests": false,
|
||||||
"dependencyFollowRecommends": false,
|
"dependencyFollowRecommends": false,
|
||||||
"dependencyFollowAllVariants": false,
|
"dependencyFollowAllVariants": false,
|
||||||
@@ -122,6 +123,10 @@ limit in kbytes/sec on download speed while mirroring remote repositories
|
|||||||
number of retries for download attempts
|
number of retries for download attempts
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
\fBdatabaseOpenAttempts\fR
|
||||||
|
number of attempts to open DB if it's locked by other instance; could be overridden with option \fB\-db-open-attempts\fR
|
||||||
|
.
|
||||||
|
.TP
|
||||||
\fBarchitectures\fR
|
\fBarchitectures\fR
|
||||||
is a list of architectures to process; if left empty defaults to all available architectures; could be overridden with option \fB\-architectures\fR
|
is a list of architectures to process; if left empty defaults to all available architectures; could be overridden with option \fB\-architectures\fR
|
||||||
.
|
.
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ Configuration file is stored in JSON format (default values shown below):
|
|||||||
"downloadConcurrency": 4,
|
"downloadConcurrency": 4,
|
||||||
"downloadSpeedLimit": 0,
|
"downloadSpeedLimit": 0,
|
||||||
"downloadRetries": 0,
|
"downloadRetries": 0,
|
||||||
|
"databaseOpenAttempts": 10,
|
||||||
"architectures": [],
|
"architectures": [],
|
||||||
"dependencyFollowSuggests": false,
|
"dependencyFollowSuggests": false,
|
||||||
"dependencyFollowRecommends": false,
|
"dependencyFollowRecommends": false,
|
||||||
@@ -105,6 +106,10 @@ Options:
|
|||||||
* `downloadRetries`:
|
* `downloadRetries`:
|
||||||
number of retries for download attempts
|
number of retries for download attempts
|
||||||
|
|
||||||
|
* `databaseOpenAttempts`:
|
||||||
|
number of attempts to open DB if it's locked by other instance; could be overridden with option
|
||||||
|
`-db-open-attempts`
|
||||||
|
|
||||||
* `architectures`:
|
* `architectures`:
|
||||||
is a list of architectures to process; if left empty defaults to all available architectures; could be
|
is a list of architectures to process; if left empty defaults to all available architectures; could be
|
||||||
overridden with option `-architectures`
|
overridden with option `-architectures`
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ class BaseTest(object):
|
|||||||
"downloadConcurrency": 4,
|
"downloadConcurrency": 4,
|
||||||
"downloadSpeedLimit": 0,
|
"downloadSpeedLimit": 0,
|
||||||
"downloadRetries": 5,
|
"downloadRetries": 5,
|
||||||
|
"databaseOpenAttempts": 10,
|
||||||
"architectures": [],
|
"architectures": [],
|
||||||
"dependencyFollowSuggests": False,
|
"dependencyFollowSuggests": False,
|
||||||
"dependencyFollowRecommends": False,
|
"dependencyFollowRecommends": False,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
"downloadConcurrency": 4,
|
"downloadConcurrency": 4,
|
||||||
"downloadSpeedLimit": 0,
|
"downloadSpeedLimit": 0,
|
||||||
"downloadRetries": 5,
|
"downloadRetries": 5,
|
||||||
|
"databaseOpenAttempts": 10,
|
||||||
"architectures": [],
|
"architectures": [],
|
||||||
"dependencyFollowSuggests": false,
|
"dependencyFollowSuggests": false,
|
||||||
"dependencyFollowRecommends": false,
|
"dependencyFollowRecommends": false,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
"downloadConcurrency": 4,
|
"downloadConcurrency": 4,
|
||||||
"downloadSpeedLimit": 0,
|
"downloadSpeedLimit": 0,
|
||||||
"downloadRetries": 0,
|
"downloadRetries": 0,
|
||||||
|
"databaseOpenAttempts": -1,
|
||||||
"architectures": [],
|
"architectures": [],
|
||||||
"dependencyFollowSuggests": false,
|
"dependencyFollowSuggests": false,
|
||||||
"dependencyFollowRecommends": false,
|
"dependencyFollowRecommends": false,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"rootDir": "/tmp/aptly",
|
"rootDir": "/tmp/aptly",
|
||||||
"downloadConcurrency": 4,
|
"downloadConcurrency": 4,
|
||||||
|
"databaseOpenAttempts": 10,
|
||||||
"architectures": [],
|
"architectures": [],
|
||||||
"dependencyFollowSuggests": false,
|
"dependencyFollowSuggests": false,
|
||||||
"dependencyFollowRecommends": false,
|
"dependencyFollowRecommends": false,
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ type ConfigStructure struct { // nolint: maligned
|
|||||||
DownloadConcurrency int `json:"downloadConcurrency"`
|
DownloadConcurrency int `json:"downloadConcurrency"`
|
||||||
DownloadLimit int64 `json:"downloadSpeedLimit"`
|
DownloadLimit int64 `json:"downloadSpeedLimit"`
|
||||||
DownloadRetries int `json:"downloadRetries"`
|
DownloadRetries int `json:"downloadRetries"`
|
||||||
|
DatabaseOpenAttempts int `json:"databaseOpenAttempts"`
|
||||||
Architectures []string `json:"architectures"`
|
Architectures []string `json:"architectures"`
|
||||||
DepFollowSuggests bool `json:"dependencyFollowSuggests"`
|
DepFollowSuggests bool `json:"dependencyFollowSuggests"`
|
||||||
DepFollowRecommends bool `json:"dependencyFollowRecommends"`
|
DepFollowRecommends bool `json:"dependencyFollowRecommends"`
|
||||||
@@ -76,6 +77,7 @@ var Config = ConfigStructure{
|
|||||||
RootDir: filepath.Join(os.Getenv("HOME"), ".aptly"),
|
RootDir: filepath.Join(os.Getenv("HOME"), ".aptly"),
|
||||||
DownloadConcurrency: 4,
|
DownloadConcurrency: 4,
|
||||||
DownloadLimit: 0,
|
DownloadLimit: 0,
|
||||||
|
DatabaseOpenAttempts: -1,
|
||||||
Architectures: []string{},
|
Architectures: []string{},
|
||||||
DepFollowSuggests: false,
|
DepFollowSuggests: false,
|
||||||
DepFollowRecommends: false,
|
DepFollowRecommends: false,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ func (s *ConfigSuite) TestLoadConfig(c *C) {
|
|||||||
c.Assert(err, IsNil)
|
c.Assert(err, IsNil)
|
||||||
c.Check(s.config.RootDir, Equals, "/opt/aptly/")
|
c.Check(s.config.RootDir, Equals, "/opt/aptly/")
|
||||||
c.Check(s.config.DownloadConcurrency, Equals, 33)
|
c.Check(s.config.DownloadConcurrency, Equals, 33)
|
||||||
|
c.Check(s.config.DatabaseOpenAttempts, Equals, 33)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ConfigSuite) TestSaveConfig(c *C) {
|
func (s *ConfigSuite) TestSaveConfig(c *C) {
|
||||||
@@ -30,6 +31,7 @@ func (s *ConfigSuite) TestSaveConfig(c *C) {
|
|||||||
|
|
||||||
s.config.RootDir = "/tmp/aptly"
|
s.config.RootDir = "/tmp/aptly"
|
||||||
s.config.DownloadConcurrency = 5
|
s.config.DownloadConcurrency = 5
|
||||||
|
s.config.DatabaseOpenAttempts = 5
|
||||||
s.config.GpgProvider = "gpg"
|
s.config.GpgProvider = "gpg"
|
||||||
|
|
||||||
s.config.FileSystemPublishRoots = map[string]FileSystemPublishRoot{"test": {
|
s.config.FileSystemPublishRoots = map[string]FileSystemPublishRoot{"test": {
|
||||||
@@ -58,6 +60,7 @@ func (s *ConfigSuite) TestSaveConfig(c *C) {
|
|||||||
" \"downloadConcurrency\": 5,\n"+
|
" \"downloadConcurrency\": 5,\n"+
|
||||||
" \"downloadSpeedLimit\": 0,\n"+
|
" \"downloadSpeedLimit\": 0,\n"+
|
||||||
" \"downloadRetries\": 0,\n"+
|
" \"downloadRetries\": 0,\n"+
|
||||||
|
" \"databaseOpenAttempts\": 5,\n"+
|
||||||
" \"architectures\": null,\n"+
|
" \"architectures\": null,\n"+
|
||||||
" \"dependencyFollowSuggests\": false,\n"+
|
" \"dependencyFollowSuggests\": false,\n"+
|
||||||
" \"dependencyFollowRecommends\": false,\n"+
|
" \"dependencyFollowRecommends\": false,\n"+
|
||||||
@@ -115,4 +118,4 @@ func (s *ConfigSuite) TestSaveConfig(c *C) {
|
|||||||
"}")
|
"}")
|
||||||
}
|
}
|
||||||
|
|
||||||
const configFile = `{"rootDir": "/opt/aptly/", "downloadConcurrency": 33}`
|
const configFile = `{"rootDir": "/opt/aptly/", "downloadConcurrency": 33, "databaseOpenAttempts": 33}`
|
||||||
|
|||||||
Reference in New Issue
Block a user