Skip to content

Commit 9a00e7e

Browse files
AJIOBsylvestre
authored andcommitted
New memcached env vars were implemented
1 parent e845798 commit 9a00e7e

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

src/config.rs

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -638,8 +638,9 @@ fn config_from_env() -> Result<EnvConfig> {
638638
// ======= redis =======
639639
let redis = if let Ok(url) = env::var("SCCACHE_REDIS") {
640640
let ttl = number_from_env_var("SCCACHE_REDIS_EXPIRATION")
641-
.or_else(|| number_from_env_var("SCCACHE_REDIS_TTL"));
642-
let ttl = ttl.transpose()?.unwrap_or(DEFAULT_REDIS_CACHE_TTL);
641+
.or_else(|| number_from_env_var("SCCACHE_REDIS_TTL"))
642+
.transpose()?
643+
.unwrap_or(DEFAULT_REDIS_CACHE_TTL);
643644

644645
let key_prefix = key_prefix_from_env_var("SCCACHE_REDIS_KEY_PREFIX");
645646

@@ -652,21 +653,28 @@ fn config_from_env() -> Result<EnvConfig> {
652653
None
653654
};
654655

656+
if env::var_os("SCCACHE_REDIS_EXPIRATION").is_some()
657+
&& env::var_os("SCCACHE_REDIS_TTL").is_some()
658+
{
659+
bail!("You mustn't set both SCCACHE_REDIS_EXPIRATION and SCCACHE_REDIS_TTL. Use only one.");
660+
}
661+
655662
// ======= memcached =======
656-
let expiration = match env::var("SCCACHE_MEMCACHED_EXPIRATION").ok() {
657-
None => DEFAULT_MEMCACHED_CACHE_EXPIRATION,
658-
Some(v) => v
659-
.parse()
660-
.map_err(|err| anyhow!("SCCACHE_MEMCACHED_EXPIRATION value is invalid: {err:?}"))?,
661-
};
663+
let memcached = if let Ok(url) = env::var("SCCACHE_MEMCACHED") {
664+
let expiration = number_from_env_var("SCCACHE_MEMCACHED_EXPIRATION")
665+
.transpose()?
666+
.unwrap_or(DEFAULT_MEMCACHED_CACHE_EXPIRATION);
662667

663-
let memcached = env::var("SCCACHE_MEMCACHED")
664-
.ok()
665-
.map(|url| MemcachedCacheConfig {
668+
let key_prefix = key_prefix_from_env_var("SCCACHE_MEMCACHED_KEY_PREFIX");
669+
670+
Some(MemcachedCacheConfig {
666671
url,
667672
expiration,
668-
key_prefix: String::new(),
669-
});
673+
key_prefix,
674+
})
675+
} else {
676+
None
677+
};
670678

671679
// ======= GCP/GCS =======
672680
if (env::var("SCCACHE_GCS_CREDENTIALS_URL").is_ok()

0 commit comments

Comments
 (0)