Merge pull request #24812 from owncloud/fkammer-enhancement-cache-folder-gc-ttl

Make chunk cache ttl configurable
This commit is contained in:
Vincent Petry 2016-05-25 11:07:31 +02:00
Родитель 25f3110730 51b0036d8f
Коммит b5f455f5ac
2 изменённых файлов: 17 добавлений и 1 удалений

Просмотреть файл

@ -976,6 +976,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
*/

Просмотреть файл

@ -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);
}