diff options
author | Vincent Petry <pvince81@owncloud.com> | 2016-05-25 12:07:31 +0300 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2016-05-25 12:07:31 +0300 |
commit | b5f455f5ac31ea3a35b8adc70ae82d8e4d31920f (patch) | |
tree | 44f86a11a989b594dfcd164b6071ecedd2ff7ed4 | |
parent | 25f31107301b3ed08cbd9ade2a4bf37e88e54044 (diff) | |
parent | 51b0036d8f714e3693be744784f65c34dee64afa (diff) |
Merge pull request #24812 from owncloud/fkammer-enhancement-cache-folder-gc-ttl
Make chunk cache ttl configurable
-rw-r--r-- | config/config.sample.php | 8 | ||||
-rw-r--r-- | lib/private/legacy/filechunking.php | 10 |
2 files changed, 17 insertions, 1 deletions
diff --git a/config/config.sample.php b/config/config.sample.php index ffdce5cc2d5..c5f2f14e031 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -977,6 +977,14 @@ $CONFIG = array( 'cache_path' => '', /** + * TTL of chunks located in the cache folder before they're removed by + * garbage collection (in seconds). Increase this value if users have + * issues uploading very large files via the ownCloud Client as upload isn't + * completed within one day. + */ +'cache_chunk_gc_ttl' => 86400, // 60*60*24 = 1 day + +/** * Using Object Store with ownCloud */ diff --git a/lib/private/legacy/filechunking.php b/lib/private/legacy/filechunking.php index f2cef275458..9b8a5a6f766 100644 --- a/lib/private/legacy/filechunking.php +++ b/lib/private/legacy/filechunking.php @@ -31,6 +31,13 @@ class OC_FileChunking { protected $info; protected $cache; + /** + * TTL of chunks + * + * @var int + */ + protected $ttl; + static public function decodeName($name) { preg_match('/(?P<name>.*)-chunking-(?P<transferid>\d+)-(?P<chunkcount>\d+)-(?P<index>\d+)/', $name, $matches); return $matches; @@ -41,6 +48,7 @@ class OC_FileChunking { */ public function __construct($info) { $this->info = $info; + $this->ttl = \OC::$server->getConfig()->getSystemValue('cache_chunk_gc_ttl', 86400); } public function getPrefix() { @@ -67,7 +75,7 @@ class OC_FileChunking { public function store($index, $data) { $cache = $this->getCache(); $name = $this->getPrefix().$index; - $cache->set($name, $data); + $cache->set($name, $data, $this->ttl); return $cache->size($name); } |