зеркало из https://github.com/nextcloud/server.git
Merge pull request #24812 from owncloud/fkammer-enhancement-cache-folder-gc-ttl
Make chunk cache ttl configurable
This commit is contained in:
Коммит
b5f455f5ac
|
@ -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);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче