filecluster 0.5.21 → 0.5.22

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4bca4b52453d8184c6b3aa8f6915a4077c92fdefbc5a8c3690031d0dbfeeebdc
4
- data.tar.gz: 7387acb1f8c92b285311425b8ccb26da2ea05ad5fb35759d2e110fb6035da4a7
3
+ metadata.gz: 10e10527f25a50e402b200e74a8e130f01455254fb8532a3c21b41745634309c
4
+ data.tar.gz: 316f0184215fa4e23069de2141562aca7b5f0bd1b58d518e2bfd230e597cca74
5
5
  SHA512:
6
- metadata.gz: 77502723c7312da226e1207527fa57654646077cffc5fed30ec2c83c99330e30851b4951e79dbab09374d95ff49904f1db7a442225a393b5d9dd58c39de8f4cc
7
- data.tar.gz: e814ddae4b981950bb78f585704d5b5c9fe7d2801cac3f807c9f42ff1e85a8709202ee6b8ace7cc3f38294a11688fca27fc66f00f52e00dc69581c9f9bfb9607
6
+ metadata.gz: 619b4b7999ece7b80a2077fdd010675b61ca950c355c1fb10eaad99b39b0f50b39f865f50b52d5cfff8d8e99851ac0d204125534dc4fdcf9da3296e07de71061
7
+ data.tar.gz: db6a19f940784f459c5f4ad72cee8a580a5399be0867fe38698b08d643808accbe60718e1d2313936096ae26a0bc3afb481cd4e846e08c0c866de040763b7be5
data/README.md CHANGED
@@ -64,6 +64,8 @@ Can be used the following variables:
64
64
  |daemon_global_error_items_ttl|86400|ttl for items with error status before delete|
65
65
  |daemon_global_error_items_storages_ttl|86400|ttl for items_storages with error status before delete|
66
66
  |daemon_restart_period|86400|time between fc-daemon self restart|
67
+ |daemon_global_delete_limit|1000|limits number of deleted items per query|
68
+ |daemon_global_delete_dela|1|delay in seconds(float) between items delete query|
67
69
 
68
70
  ## Usage
69
71
 
@@ -96,11 +96,15 @@ class GlobalDaemonThread < BaseThread
96
96
  $log.debug("GlobalDaemonThread: delete_deleted_items")
97
97
 
98
98
  r = FC::DB.query("SELECT i.id FROM #{FC::Item.table_name} as i LEFT JOIN #{FC::ItemStorage.table_name} as ist ON i.id=ist.item_id WHERE i.status = 'delete' AND ist.id IS NULL")
99
- ids = r.map{|row| row['id']}
100
- if ids.count > 0
99
+ item_ids = r.map{|row| row['id']}
100
+ limit = FC::Var.get('daemon_global_delete_limit', 1000).to_i
101
+ limit = 1000 if limit < 2
102
+ delay = FC::Var.get('daemon_global_delete_delay', 1).to_f
103
+ item_ids.each_slice(limit) do |ids|
101
104
  ids = ids.join(',')
102
105
  FC::DB.query("DELETE FROM #{FC::Item.table_name} WHERE id in (#{ids})")
103
106
  $log.info("GlobalDaemonThread: delete items #{ids}")
107
+ sleep delay if delay > 0
104
108
  end
105
109
  end
106
110
 
@@ -343,5 +343,10 @@ module FC
343
343
  def self.migrate_6
344
344
  FC::DB.query("ALTER TABLE #{@prefix}storages ADD COLUMN http_check_time int(11) DEFAULT 0")
345
345
  end
346
+
347
+ def self.migrate_7
348
+ FC::DB.query("INSERT IGNORE INTO #{@prefix}vars SET name='daemon_global_delete_limit', val='1000', descr='limits number of deleted items per query'")
349
+ FC::DB.query("INSERT IGNORE INTO #{@prefix}vars SET name='daemon_global_delete_delay', val='1', descr='delay in seconds between items delete query'")
350
+ end
346
351
  end
347
352
  end
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = '0.5.21'.freeze
2
+ VERSION = '0.5.22'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filecluster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.21
4
+ version: 0.5.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - sh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-11 00:00:00.000000000 Z
11
+ date: 2020-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2