def __init__(
		self, maximum_running_records=None, running_record_registry=None, maximum_postponed_records=None,
		postponed_record_registry=None, thread_name_suffix=None
	):
		""" Create new scheduler

		:param maximum_running_records: number of records that are able to run simultaneously \
		(WSchedulerService.__default_maximum_running_records__ is used as default value)
		:param running_record_registry: registry for running records
		:param maximum_postponed_records: number of records that are able to be postponed (no limit by default)
		:param postponed_record_registry: registry for postponed records
		:param thread_name_suffix: suffix to thread name
		"""
		WCriticalResource.__init__(self)
		WSchedulerServiceProto.__init__(self)
		thread_name = self.__thread_name_prefix__
		if thread_name_suffix is not None:
			thread_name += thread_name_suffix
		WPollingThreadTask.__init__(self, thread_name=thread_name)

		if maximum_postponed_records is not None and postponed_record_registry is not None:
			raise ValueError(
				'Conflict values found. Unable to instantiate scheduler service with '
				'"maximum_postponed_tasks" and "postponed_tasks_registry" values (chose one)'
			)

		default = lambda x, y: x if x is not None else y

		self.__maximum_running_records = default(
			maximum_running_records, self.__class__.__default_maximum_running_records__
		)

		self.__running_record_registry = default(running_record_registry, WRunningRecordRegistry())
		self.__postponed_record_registry = WPostponedRecordRegistry(maximum_postponed_records)
		self.__sources_registry = WTaskSourceRegistry()

		self.__awake_at = None
def __init__ ( self , maximum_running_records = None , running_record_registry = None , maximum_postponed_records = None , postponed_record_registry = None , thread_name_suffix = None ) : WCriticalResource . __init__ ( self ) WSchedulerServiceProto . __init__ ( self ) thread_name = self . __thread_name_prefix__ if thread_name_suffix is not None : thread_name += thread_name_suffix WPollingThreadTask . __init__ ( self , thread_name = thread_name ) if maximum_postponed_records is not None and postponed_record_registry is not None : raise ValueError ( 'Conflict values found. Unable to instantiate scheduler service with ' '"maximum_postponed_tasks" and "postponed_tasks_registry" values (chose one)' ) default = lambda x , y : x if x is not None else y self . __maximum_running_records = default ( maximum_running_records , self . __class__ . __default_maximum_running_records__ ) self . __running_record_registry = default ( running_record_registry , WRunningRecordRegistry ( ) ) self . __postponed_record_registry = WPostponedRecordRegistry ( maximum_postponed_records ) self . __sources_registry = WTaskSourceRegistry ( ) self . __awake_at = None
Create new scheduler

		:param maximum_running_records: number of records that are able to run simultaneously \
		(WSchedulerService.__default_maximum_running_records__ is used as default value)
		:param running_record_registry: registry for running records
		:param maximum_postponed_records: number of records that are able to be postponed (no limit by default)
		:param postponed_record_registry: registry for postponed records
		:param thread_name_suffix: suffix to thread name