Merge pull request #24812 from owncloud/fkammer-enhancement-cache-folder-gc-ttl
Make chunk cache ttl configurable
This commit is contained in:
commit
b5f455f5ac
2 changed files with 17 additions and 1 deletions
|
@ -976,6 +976,14 @@ $CONFIG = array(
|
||||||
*/
|
*/
|
||||||
'cache_path' => '',
|
'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
|
* Using Object Store with ownCloud
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -31,6 +31,13 @@ class OC_FileChunking {
|
||||||
protected $info;
|
protected $info;
|
||||||
protected $cache;
|
protected $cache;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TTL of chunks
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $ttl;
|
||||||
|
|
||||||
static public function decodeName($name) {
|
static public function decodeName($name) {
|
||||||
preg_match('/(?P<name>.*)-chunking-(?P<transferid>\d+)-(?P<chunkcount>\d+)-(?P<index>\d+)/', $name, $matches);
|
preg_match('/(?P<name>.*)-chunking-(?P<transferid>\d+)-(?P<chunkcount>\d+)-(?P<index>\d+)/', $name, $matches);
|
||||||
return $matches;
|
return $matches;
|
||||||
|
@ -41,6 +48,7 @@ class OC_FileChunking {
|
||||||
*/
|
*/
|
||||||
public function __construct($info) {
|
public function __construct($info) {
|
||||||
$this->info = $info;
|
$this->info = $info;
|
||||||
|
$this->ttl = \OC::$server->getConfig()->getSystemValue('cache_chunk_gc_ttl', 86400);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPrefix() {
|
public function getPrefix() {
|
||||||
|
@ -67,7 +75,7 @@ class OC_FileChunking {
|
||||||
public function store($index, $data) {
|
public function store($index, $data) {
|
||||||
$cache = $this->getCache();
|
$cache = $this->getCache();
|
||||||
$name = $this->getPrefix().$index;
|
$name = $this->getPrefix().$index;
|
||||||
$cache->set($name, $data);
|
$cache->set($name, $data, $this->ttl);
|
||||||
|
|
||||||
return $cache->size($name);
|
return $cache->size($name);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue