Skip to content
Snippets Groups Projects
Commit 2db3ccc8 authored by sveseli's avatar sveseli
Browse files

additional options for running under cron

parent f6e2fc21
No related branches found
No related tags found
No related merge requests found
...@@ -33,7 +33,7 @@ class UpdateUserFromApsDbCli(DmCli): ...@@ -33,7 +33,7 @@ class UpdateUserFromApsDbCli(DmCli):
dm-update-user-from-aps-db --badge=BADGE --config-file=CONFIGFILE dm-update-user-from-aps-db --badge=BADGE --config-file=CONFIGFILE
Description: Description:
Updates user in DM LDAP and database using information from APS DB. Updates single user in DM LDAP using information from APS DB. This command will not update DM DB.
""") """)
ConfigurationManager.getInstance().setConfigFile(self.options.configFile) ConfigurationManager.getInstance().setConfigFile(self.options.configFile)
LoggingManager.getInstance().configure() LoggingManager.getInstance().configure()
......
#!/usr/bin/env python #!/usr/bin/env python
import datetime import datetime
import time
import os import os
from dm.common.exceptions.invalidRequest import InvalidRequest from dm.common.exceptions.invalidRequest import InvalidRequest
from dm.common.exceptions.invalidArgument import InvalidArgument from dm.common.exceptions.invalidArgument import InvalidArgument
...@@ -19,6 +20,7 @@ class UpdateUsersFromApsDbCli(DmCli): ...@@ -19,6 +20,7 @@ class UpdateUsersFromApsDbCli(DmCli):
self.addOption('', '--config-file', dest='configFile', help='Utility configuration file.') self.addOption('', '--config-file', dest='configFile', help='Utility configuration file.')
self.addOption('', '--without-dm-db', dest='withoutDmDb', action='store_true', default=False, help='Do not use DM DB for synchronizing user information.') self.addOption('', '--without-dm-db', dest='withoutDmDb', action='store_true', default=False, help='Do not use DM DB for synchronizing user information.')
self.addOption('', '--use-dm-rest-api', dest='useDmRestApi', action='store_true', default=False, help='Use DM REST API for accessing user information. This option does not have any effect if --without-dm-db is set.') self.addOption('', '--use-dm-rest-api', dest='useDmRestApi', action='store_true', default=False, help='Use DM REST API for accessing user information. This option does not have any effect if --without-dm-db is set.')
self.addOption('', '--quiet', dest='quiet', action='store_true', default=False, help='Do not print any output to console.')
def checkArgs(self): def checkArgs(self):
configFile = self.options.configFile configFile = self.options.configFile
...@@ -32,10 +34,12 @@ class UpdateUsersFromApsDbCli(DmCli): ...@@ -32,10 +34,12 @@ class UpdateUsersFromApsDbCli(DmCli):
dm-update-users-from-aps-db --config-file=CONFIGFILE dm-update-users-from-aps-db --config-file=CONFIGFILE
[--without-dm-db] [--without-dm-db]
[--use-dm-rest-api] [--use-dm-rest-api]
[--quiet]
Description: Description:
Updates all users in DM LDAP and database using information from APS DB. This command by default uses DM DB to determine whether or not user needs to be created or updated. If the --without-dm-db flag is set, DM DB will not be used nor it will be updated. Updates all users in DM LDAP and database using information from APS DB. This command by default uses DM DB to determine whether or not user needs to be created or updated. If the --without-dm-db flag is set, DM DB will not be used nor it will be updated.
""") """)
startTime = time.time()
ConfigurationManager.getInstance().setConfigFile(self.options.configFile) ConfigurationManager.getInstance().setConfigFile(self.options.configFile)
LoggingManager.getInstance().configure() LoggingManager.getInstance().configure()
self.checkArgs() self.checkArgs()
...@@ -189,14 +193,19 @@ Description: ...@@ -189,14 +193,19 @@ Description:
# User is up to date # User is up to date
continue continue
endTime = time.time()
runTime = endTime - startTime
self.logger.debug('Number of new DM users: %s' % (nCreatedUsers)) self.logger.debug('Number of new DM users: %s' % (nCreatedUsers))
self.logger.debug('Number of updated DM users: %s' % (nUpdatedUsers)) self.logger.debug('Number of updated DM users: %s' % (nUpdatedUsers))
self.logger.debug('Number of update errors: %s' % (nErrors)) self.logger.debug('Number of update errors: %s' % (nErrors))
self.logger.debug('Completed sync process') self.logger.debug('Completed sync process in %.3f seconds' % runTime)
print('Number of new DM users: %s' % (nCreatedUsers)) if not self.options.quiet:
print('Number of updated DM users: %s' % (nUpdatedUsers)) print('Number of new DM users: %s' % (nCreatedUsers))
print('Number of update errors: %s' % (nErrors)) print('Number of updated DM users: %s' % (nUpdatedUsers))
print('Number of update errors: %s' % (nErrors))
print('Sync process runtime: %.3f seconds' % (runTime))
####################################################################### #######################################################################
# Run command. # Run command.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment