コード例 #1
0
ファイル: lock.py プロジェクト: BobDohnal/fantasm
 def txn():
     """ lock in transaction to avoid races between Tasks """
     key = db.Key.from_path(_FantasmTaskSemaphore.kind(), self.semaphoreKey, namespace='')
     entity = db.get(key)
     if entity:
         if entity.payload != payload:
             self.logger.critical("Run-once semaphore datastore payload read error. Semaphore key: '%s', actual payload: '%s', expected payload: '%s'.", self.semaphoreKey, entity.payload, payload)
         return entity.payload
コード例 #2
0
 def txn():
     """ lock in transaction to avoid races between Tasks """
     key = db.Key.from_path(_FantasmTaskSemaphore.kind(),
                            self.semaphoreKey,
                            namespace='')
     entity = db.get(key)
     if entity:
         if entity.payload != payload:
             self.logger.critical(
                 "Run-once semaphore datastore payload read error. Semaphore key: '%s', actual payload: '%s', expected payload: '%s'.",
                 self.semaphoreKey, entity.payload, payload)
         return entity.payload
コード例 #3
0
ファイル: lock.py プロジェクト: BobDohnal/fantasm
 def txn():
     """ lock in transaction to avoid races between Tasks """
     key = db.Key.from_path(_FantasmTaskSemaphore.kind(), self.semaphoreKey, namespace='')
     entity = db.get(key)
     if not entity:
         _FantasmTaskSemaphore(key=key, payload=payload).put()
         memcache.set(self.semaphoreKey, payload, namespace=None)
         self.logger.debug('Setting run-once semaphore. Semaphore key: "%s", payload: "%s".', self.semaphoreKey, payload)
         return (True, payload)
     else:
         if entity.payload != payload:
             self.logger.critical("Run-once semaphore datastore payload write error. Semaphore key: '%s', actual payload: '%s', expected payload: '%s'.", self.semaphoreKey, entity.payload, payload)
         memcache.set(self.semaphoreKey, entity.payload, namespace=None) # maybe reduces chance of ejection???
         return (False, entity.payload)
コード例 #4
0
 def txn():
     """ lock in transaction to avoid races between Tasks """
     key = db.Key.from_path(_FantasmTaskSemaphore.kind(),
                            self.semaphoreKey,
                            namespace='')
     entity = db.get(key)
     if not entity:
         _FantasmTaskSemaphore(key=key, payload=payload).put()
         memcache.set(self.semaphoreKey, payload, namespace=None)
         self.logger.debug(
             'Setting run-once semaphore. Semaphore key: "%s", payload: "%s".',
             self.semaphoreKey, payload)
         return (True, payload)
     else:
         if entity.payload != payload:
             self.logger.critical(
                 "Run-once semaphore datastore payload write error. Semaphore key: '%s', actual payload: '%s', expected payload: '%s'.",
                 self.semaphoreKey, entity.payload, payload)
         memcache.set(
             self.semaphoreKey, entity.payload,
             namespace=None)  # maybe reduces chance of ejection???
         return (False, entity.payload)