mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-21 13:50:20 +08:00
Prevent reloading when data table is being modified
Fixes https://github.com/galaxyproject/galaxy/issues/4783.
This commit is contained in:
@@ -317,10 +317,10 @@ class DataManager(object):
|
||||
self.process_move(data_table_name, name, output_ref_values[name].extra_files_path, **data_table_value)
|
||||
data_table_value[name] = self.process_value_translation(data_table_name, name, **data_table_value)
|
||||
data_table.add_entry(data_table_value, persist=True, entry_source=self)
|
||||
send_control_task(self.data_managers.app,
|
||||
'reload_tool_data_tables',
|
||||
noop_self=True,
|
||||
kwargs={'table_name': data_table_name})
|
||||
send_control_task(self.data_managers.app,
|
||||
'reload_tool_data_tables',
|
||||
noop_self=True,
|
||||
kwargs={'table_name': data_table_name})
|
||||
if self.undeclared_tables and data_tables_dict:
|
||||
# We handle the data move, by just moving all the data out of the extra files path
|
||||
# moving a directory and the target already exists, we move the contents instead
|
||||
|
||||
@@ -252,6 +252,10 @@ class LocFileEventHandler(FileSystemEventHandler):
|
||||
if self.loc_watcher.path_hash.get(path) == cur_hash:
|
||||
return
|
||||
else:
|
||||
time.sleep(0.5)
|
||||
if cur_hash != md5_hash_file(path):
|
||||
# We're still modifying the file, it'll be picked up later
|
||||
return
|
||||
self.loc_watcher.path_hash[path] = cur_hash
|
||||
self.loc_watcher.tool_data_tables.reload_tables(path=path)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user