epam / cloud-pipeline

Cloud agnostic genomics analysis, scientific computation and storage platform
https://cloud-pipeline.com
Apache License 2.0
144 stars 59 forks source link

Add support for user sync custom handlers #3385

Closed tcibinan closed 10 months ago

tcibinan commented 10 months ago

Relates #2197.

The pull request brings support for user sync reusability via custom user handlers.

Example


from scripts.sync_users import get_daemon, UserHandler

class CustomUserHandler(UserHandler):

    def __init__(self):
        self._executor = None
        self._logger = None

    def register(self, executor, logger):
        self._executor = executor
        self._logger = logger

    def create(self, users):
        self._logger.debug('Creating users...')

sync_daemon = get_daemon()
sync_daemon.register(CustomUserHandler())
sync_daemon.sync()