Пример #1
0
 def after_return(self, status, retval, task_id, args, kwargs, einfo):
     logger.debug('EntityNewExpertTask.after_return(%s, %s, %s, %s, %s)' % (status, retval, task_id, args, kwargs))
     collection_path = args[0]
     collection = Collection.from_identifier(Identifier(path=collection_path))
     lockstatus = collection.unlock(task_id)
     gitstatus.update(settings.MEDIA_BASE, collection.path)
     gitstatus.unlock(settings.MEDIA_BASE, 'entity_newexpert')
Пример #2
0
 def after_return(self, status, retval, task_id, args, kwargs, einfo):
     logger.debug('DeleteFileTask.after_return(%s, %s, %s, %s, %s)' % (status, retval, task_id, args, kwargs))
     collection_path = args[2]
     collection = Collection.from_identifier(Identifier(path=collection_path))
     lockstatus = collection.unlock(task_id)
     gitstatus.update(settings.MEDIA_BASE, collection_path)
     gitstatus.unlock(settings.MEDIA_BASE, 'delete_file')
Пример #3
0
 def after_return(self, status, retval, task_id, args, kwargs, einfo):
     logger.debug('EntityEditTask.after_return(%s, %s, %s, %s, %s)' % (status, retval, task_id, args, kwargs))
     collection_path = args[0]
     collection = Collection.from_json(collection_path)
     lockstatus = collection.unlock(task_id)
     gitstatus.update(settings.MEDIA_BASE, collection_path)
     gitstatus.unlock(settings.MEDIA_BASE, 'entity_edit')
Пример #4
0
 def after_return(self, status, retval, task_id, args, kwargs, cinfo):
     collection_path = args[2]
     collection = Collection.from_identifier(Identifier(path=collection_path))
     # NOTE: collection is locked immediately after collection_sync task
     #       starts in webui.views.collections.sync
     collection.unlock(task_id)
     collection.cache_delete()
     gitstatus.update(settings.MEDIA_BASE, collection_path)
     gitstatus.unlock(settings.MEDIA_BASE, 'collection_sync')
Пример #5
0
 def after_return(self, status, retval, task_id, args, kwargs, einfo):
     logger.debug('EntityReloadTask.after_return(%s, %s, %s, %s, %s)' % (status, retval, task_id, args, kwargs))
     collection_path = args[0]
     collection = Collection.from_identifier(Identifier(path=collection_path))
     entity_id = args[1]
     entity = Entity.from_identifier(Identifier(id=entity_id))
     lockstatus = entity.unlock(task_id)
     gitstatus.update(settings.MEDIA_BASE, collection_path)
     gitstatus.unlock(settings.MEDIA_BASE, 'reload_files')
Пример #6
0
 def test_locked_global(self):
     os.makedirs(os.path.join(BASEDIR, 'tmp'))
     lock_path = os.path.join(BASEDIR, 'tmp', 'gitstatus-lock')
     self.assertEqual(gitstatus.locked_global(BASEDIR), False)
     # lock
     tids = ['1234', '1248']
     lockfile0 = gitstatus.lock(BASEDIR, tids[0])
     self.assertNotEqual(gitstatus.locked_global(BASEDIR), False)
     lockfile1 = gitstatus.lock(BASEDIR, tids[1])
     self.assertNotEqual(gitstatus.locked_global(BASEDIR), False)
     # unlock
     unlocked0 = gitstatus.unlock(BASEDIR, tids[0])
     self.assertNotEqual(gitstatus.locked_global(BASEDIR), False)
     unlocked1 = gitstatus.unlock(BASEDIR, tids[1])
     self.assertEqual(gitstatus.locked_global(BASEDIR), False)
Пример #7
0
 def after_return(self, status, retval, task_id, args, kwargs, einfo):
     entity = args[2]
     collection = entity.collection()
     log = addfile_logger(entity.identifier)
     log.ok('FileAddDebugTask.AFTER_RETURN')
     log.ok('task_id: %s' % task_id)
     log.ok('status: %s' % status)
     log.ok('retval: %s' % retval)
     log.ok('Unlocking %s' % entity.id)
     lockstatus = entity.unlock(task_id)
     if lockstatus == 'ok':
         log.ok('unlocked')
     else:
         log.not_ok(lockstatus)
     log.ok( 'END task_id %s\n' % task_id)
     collection.cache_delete()
     gitstatus.update(settings.MEDIA_BASE, collection.path)
     gitstatus.unlock(settings.MEDIA_BASE, 'entity_add_file')
Пример #8
0
 def after_return(self, status, retval, task_id, args, kwargs, einfo):
     entity = args[2]
     entity.files_log(1,'DDRTask.AFTER_RETURN')
     entity.files_log(1,'task_id: %s' % task_id)
     entity.files_log(1,'status: %s' % status)
     entity.files_log(1,'retval: %s' % retval)
     entity.files_log(1,'Unlocking %s' % entity.id)
     lockstatus = entity.unlock(task_id)
     if lockstatus == 'ok':
         entity.files_log(1,'unlocked')
     else:
         entity.files_log(0,lockstatus)
     entity.files_log(1, 'END task_id %s\n' % task_id)
     collection_path = Collection.collection_path(None,entity.repo,entity.org,entity.cid)
     collection = Collection.from_json(collection_path)
     collection.cache_delete()
     gitstatus.update(settings.MEDIA_BASE, collection_path)
     gitstatus.unlock(settings.MEDIA_BASE, 'entity_add_file')
Пример #9
0
 def test_unlock(self):
     os.makedirs(os.path.join(BASEDIR, 'tmp'))
     lock_path = os.path.join(BASEDIR, 'tmp', 'gitstatus-lock')
     
     before = os.path.exists(lock_path)
     self.assertEqual(before, False)
     
     # lock twice
     tids = ['1234', '1248']
     lockfile0 = gitstatus.lock(BASEDIR, tids[0])
     after0 = os.path.exists(lock_path)
     lockfile1 = gitstatus.lock(BASEDIR, tids[1])
     after1 = os.path.exists(lock_path)
     self.assertEqual(after0, True)
     self.assertEqual(after1, True)
     self.assertEqual(len(lockfile1.strip().split('\n')), 2)
     
     # unlock
     unlocked0 = gitstatus.unlock(BASEDIR, tids[0])
     unlocked1 = gitstatus.unlock(BASEDIR, tids[1])
     self.assertEqual(len(unlocked0.strip().split('\n')), 1)
     self.assertEqual(unlocked1, '')
Пример #10
0
 def after_return(self, status, retval, task_id, args, kwargs, einfo):
     gitstatus.unlock(settings.MEDIA_BASE, 'reindex')
     logger.debug('ElasticsearchTask.after_return(%s, %s, %s, %s, %s)' % (status, retval, task_id, args, kwargs))