Planning Service#

Planning Service Class#

Classes:

KillEvent(date, host, name)

Kill a Group of process.

PlanningService([planning])

Execute and control processes according to a planning.

StartEvent(*, date, host, cmd, name)

Start a Process and assign a it to a group.

class enoslib.service.planning.planning.KillEvent(date: datetime, host: Host, name: str)#

Kill a Group of process.

Process in the cgroup “name” will be killed

Parameters:
  • date – date of the event

  • host – host on which the event will occur

  • name – process group to kill

class enoslib.service.planning.planning.PlanningService(planning: Planning | None = None)#

Execute and control processes according to a planning.

Scheduling of events use cronjobs on each of the target nodes.

Parameters:

planning – optional. The planning to use

add_event(e: Event) PlanningService#

Schedule an event.

Parameters:

e – the event to schedule

Returns:

The current PlanningService

backup() None#

(abstract) Backup the service.

check() None#

Check for inconsistencies in the planning

deploy() None#

Set all events / cronjobs of a planning.

destroy(wait: bool = True) None#

Remove all events / cronjobs of a planning.

property duration: timedelta#

The timespan as a timedelta of the planning.

property end: datetime#

Date as a datetime of the last event.

property start: datetime#

Date as a datetime of the first event.

status() ProcessRegistry#

Status of the processes in the Planning

property until_end: timedelta#

Duration between now and the last event of the planning.

class enoslib.service.planning.planning.StartEvent(*, date: datetime, host: Host, cmd: str, name: str)#

Start a Process and assign a it to a group.

Parameters:
  • date – date of the event

  • host – host on which the event will occur

  • cmd – command to lauch

  • name – name of the process group in which cmd will be run