コード例 #1
0
 def executeCommand(self, cmd, request):        
     #DB maintenance commands
     try:
         if cmd=='DB_BACKUP':
             output_file = request.data
             try:
                 _db.lock()
                 backfiles = _db.db_handle._backup(output_file)
             finally:
                 _db.unlock()
             return (0, 'Database backup completed successfully.')
         
         elif cmd=='DB_RESTORE':
             backup_set = request.data
             _db.db_handle._restore(backup_set)
             return (0, 'Database restore completed successfully.')
 
         elif cmd=='DB_RECOVER':
             _db.close()
             _db._recover()
             return (0, 'Database recovery completed successfully.')
         
         elif cmd=='DB_SHRINK':
             iLogs = _db.db_handle._shrink()
             if iLogs:
                 return (0, 'Successfully removed %d log files.' % iLogs)
             else:
                 return (0, 'No log files removed.')
         
         # unknown command
         else:
             logger.warning(
                 'Management service received unknown command: %s' % cmd)
             return (-1, 'Unknown command.')
     except IOError:
         return (-1, 'Invalid file path.')
     except NotImplementedError:
         return (-1, 'Unsupported command.')
コード例 #2
0
def lock_db():
    _db.lock()
コード例 #3
0
ファイル: runtime.py プロジェクト: vagmits/porcupine
def lock_db():
    _db.lock()