def set_message_broker(customer_idurl, broker_idurl, position=0, revision=None, expire=60 * 60): if _Debug: lg.args(_DebugLevel, customer=customer_idurl, pos=position, broker=broker_idurl, rev=revision) return dht_service.set_valid_data( key=dht_service.make_key( key='%s%d' % (strng.to_text(customer_idurl), position), prefix='message_broker', ), json_data={ 'type': 'message_broker', 'timestamp': utime.get_sec1970(), 'revision': 0 if revision is None else revision, 'customer_idurl': customer_idurl.to_text(), 'broker_idurl': broker_idurl.to_text(), # 'archive_folder_path': archive_folder_path, 'position': position, }, rules=get_rules('message_broker'), expire=expire, collect_results=True, )
def do_read(self): # TODO: build more smart and fault sensitive method if self._index >= self._limit_lookups: if _Debug: lg.out( _DebugLevel, 'dht_relations.do_read STOP %s, limit lookups riched' % self.customer_id) self.do_report_success() return None if self._last_missed_index >= 0 and self._index - self._last_missed_index > self._max_misses_in_row: if _Debug: lg.out( _DebugLevel, 'dht_relations.do_read STOP %s, last missed index is %d' % (self.customer_id, self._last_missed_index)) self.do_report_success() return None target_dht_key = dht_service.make_key( key=self.customer_id, index=self._index, prefix=self._prefix, ) if _Debug: lg.out( _DebugLevel, 'dht_relations.do_read %s:%d missed:%d' % (self.customer_id, self._index, self._missed)) d = dht_records.get_relation(target_dht_key) d.addCallback(self.do_verify) d.addErrback(self.do_verify) return d
def set_suppliers(customer_idurl, ecc_map, suppliers_list, revision=None, publisher_idurl=None, expire=60 * 60): if _Debug: lg.args(_DebugLevel, customer_idurl=customer_idurl, ecc_map=ecc_map, suppliers_list=suppliers_list, revision=revision) return dht_service.set_valid_data( key=dht_service.make_key( key=strng.to_text(customer_idurl), prefix='suppliers', ), json_data={ 'type': 'suppliers', 'timestamp': utime.get_sec1970(), 'revision': 0 if revision is None else revision, 'publisher_idurl': publisher_idurl.to_text() if publisher_idurl else None, 'customer_idurl': customer_idurl.to_text(), 'ecc_map': ecc_map, 'suppliers': list(map(lambda i: i.to_text(), suppliers_list)), }, rules=get_rules('suppliers'), expire=expire, collect_results=True, )
def doMakeKey(self, *args, **kwargs): """ Action method. """ self.key = dht_service.make_key( key=self.nickname, index=0, prefix='nickname', )
def doMakeKey(self, arg): """ Action method. """ # self.key = self.nickname + ':' + '0' self.key = dht_service.make_key( key=self.nickname, index=0, prefix='nickname', )
def get_suppliers(customer_idurl): if _Debug: lg.args(_DebugLevel, customer_idurl) return dht_service.get_valid_data( key=dht_service.make_key( key=strng.to_text(customer_idurl), prefix='suppliers', ), rules=get_rules('suppliers'), )
def get_message_broker(customer_idurl, position=0, return_details=True, use_cache=True): if _Debug: lg.args(_DebugLevel, customer_idurl=customer_idurl, position=position) return dht_service.get_valid_data( key=dht_service.make_key( key='%s%d' % (strng.to_text(customer_idurl), position), prefix='message_broker', ), rules=get_rules('message_broker'), return_details=return_details, use_cache_ttl=RELATION_RECORD_CACHE_TTL['message_broker'] if use_cache else None, )
def get_suppliers(customer_idurl, return_details=True, use_cache=True): if _Debug: lg.args(_DebugLevel, customer_idurl=customer_idurl) return dht_service.get_valid_data( key=dht_service.make_key( key=strng.to_text(customer_idurl), prefix='suppliers', ), rules=get_rules('suppliers'), return_details=return_details, use_cache_ttl=RELATION_RECORD_CACHE_TTL['suppliers'] if use_cache else None, )
def do_erase(self): if _Debug: lg.out(_DebugLevel, 'dht_relations.do_erase %s:%s' % ( self.customer_id, self._index, )) target_dht_key = dht_service.make_key( key=self.customer_id, index=self._index, prefix=self._prefix, ) d = dht_service.delete_key(target_dht_key) d.addCallback(self.do_report_success) d.addErrback(self.do_report_failed) return 3
def do_write(self): if _Debug: lg.out(_DebugLevel, 'dht_relations.do_write %s:%s' % ( self.customer_id, self._index, )) new_dht_key = dht_service.make_key( key=self.customer_id, index=self._index, prefix=self._prefix, ) d = dht_records.set_relation( new_dht_key, self.customer_idurl, self._new_data, self._prefix, self._index, ) d.addCallback(self.do_report_success) d.addErrback(self.do_report_failed) return 2
def doNextKey(self, *args, **kwargs): """ Action method. """ try: key_info = dht_service.split_key(self.key) index = int(key_info['index']) except: lg.exc() index = 0 index += 1 self.key = dht_service.make_key( key=self.nickname, index=index, prefix='nickname', )
def doNextKey(self, *args, **kwargs): """ Action method. """ try: key_info = dht_service.split_key(self.key) # nik, number = self.key.rsplit(':', 1) index = int(key_info['index']) except: lg.exc() index = 0 index += 1 # self.key = self.nickname + ':' + str(index) self.key = dht_service.make_key( key=self.nickname, index=index, prefix='nickname', )
def doInit(self, *args, **kwargs): """ Action method. """ self.nickname, self.attempts, self.result_callback = args[0] try: nick, index = self.nickname.rsplit(':', 1) index = int(index) except: nick = self.nickname.replace(':', '_') index = 0 self.nickname = nick # self.key = nick + ':' + str(number) self.key = dht_service.make_key( key=self.nickname, index=index, prefix='nickname', )
def set_suppliers(customer_idurl, ecc_map, suppliers_list, revision=None, publisher_idurl=None, expire=60 * 60): return dht_service.set_valid_data( key=dht_service.make_key( key=strng.to_text(customer_idurl), prefix='suppliers', ), json_data={ 'type': 'suppliers', 'timestamp': utime.get_sec1970(), 'revision': revision, 'publisher_idurl': publisher_idurl, 'customer_idurl': customer_idurl, 'ecc_map': ecc_map, 'suppliers': suppliers_list, }, rules=get_rules('suppliers'), expire=expire, collect_results=True, )