本文整理汇总了Python中pydio.job.localdb.LocalDbHandler.get_max_seq方法的典型用法代码示例。如果您正苦于以下问题:Python LocalDbHandler.get_max_seq方法的具体用法?Python LocalDbHandler.get_max_seq怎么用?Python LocalDbHandler.get_max_seq使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pydio.job.localdb.LocalDbHandler
的用法示例。
在下文中一共展示了LocalDbHandler.get_max_seq方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ContinuousDiffMerger
# 需要导入模块: from pydio.job.localdb import LocalDbHandler [as 别名]
# 或者: from pydio.job.localdb.LocalDbHandler import get_max_seq [as 别名]
#.........这里部分代码省略.........
except Timeout as to:
logging.error(to)
self.logger.log_state(_('Connection timeout, will retry later.'), 'error')
except RequestException as ree:
logging.error(ree.message)
self.logger.log_state(_('Cannot resolve domain!'), 'error')
self.sleep_offline()
except PydioSdkBasicAuthException as e:
self.logger.log_state(_('Authentication Error'), 'error')
self.logger.log_notif(_('Authentication Error'), 'error')
self.sleep_offline()
except Exception as e:
if not (e.message.lower().count('[quota limit reached]') or e.message.lower().count('[file permissions]')):
logging.exception('Unexpected Error: %s' % e.message)
self.logger.log_state(_('Unexpected Error: %s') % e.message, 'error')
else:
logging.exception(e)
self.sleep_offline()
logging.debug('Finished this cycle, waiting for %i seconds' % self.online_timer)
very_first = False
def start_watcher(self):
if self.watcher:
if self.watcher_first_run:
def status_callback(status):
self.logger.log_state(status, 'sync')
self.init_global_progress()
try:
self.global_progress['status_indexing'] = 1
self.logger.log_state(_('Checking changes since last launch...'), "sync")
very_first = True
self.db_handler.update_bulk_node_status_as_idle()
self.watcher.check_from_snapshot(state_callback=status_callback)
except DBCorruptedException as e:
self.stop()
JobsLoader.Instance().clear_job_data(self.job_config.id)
logging.error(e)
return
except Exception as e:
logging.exception(e)
self.interrupt = True
self.logger.log_state(_('Oops, error while indexing the local folder. Pausing the task.'), 'error')
logging.error(e)
self.watcher_first_run = False
self.watcher.start()
@pydio_profile
def update_min_seqs_from_store(self, success=False):
self.local_seq = self.current_store.get_min_seq('local', success=success)
if self.local_seq == -1:
self.local_seq = self.local_target_seq
self.remote_seq = self.current_store.get_min_seq('remote', success=success)
if self.remote_seq == -1:
self.remote_seq = self.remote_target_seq
#logging.info('Storing sequences remote=%i local=%i', self.remote_seq, self.local_seq)
self.update_sequences_file(self.local_seq, self.remote_seq)
if self.event_handler:
self.event_handler.last_seq_id = self.local_seq
@pydio_profile
def ping_remote(self):
"""
Simple stat of the remote server root, to know if it's reachable.
:return:bool
"""
test = self.sdk.stat('/')
return (test != False)
def info(self, message, toUser=False, channel='sync'):
logging.info(message)
if toUser:
dispatcher.send(signal=PUBLISH_SIGNAL, sender=self, channel=channel, message=message)
@pydio_profile
def load_remote_changes_in_store(self, seq_id, store):
last_seq = self.sdk.changes_stream(seq_id, store.flatten_and_store)
if self.wait_for_changes:
timereq = time.time()
try:
if self.sdk.waiter is None:
self.sdk.websocket_connect(last_seq, str(self.job_config.id))
if self.sdk.waiter and self.sdk.waiter.ws.connected:
self.sdk.waiter.should_fetch_changes = False
while not self.sdk.waiter.should_fetch_changes and not self.interrupt:
time.sleep(2)
# these break only after one run
if self.local_seq != self.db_handler.get_max_seq():
# There was a local change
break
if not self.sdk.waiter.ws.connected:
# websocket disconnected
break
except Exception as e:
logging.exception(e)
if time.time() - timereq > 10: # if last_seq was updated more than 10s ago, update it
last_seq = self.sdk.changes_stream(seq_id, store.flatten_and_store)
return last_seq