filecluster 0.5.21 → 0.5.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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