+
Point of view
All features
class PROCESS_SCHEDULER
Summary
Direct parents
Inherit list: PROCESS_RUNNER
Class invariant
Overview
Creation features
{ANY}
Features
{ANY}
{ANY}
{}
{}
execute (program: STRING, arguments: TRAVERSABLE[STRING], keep_environment: BOOLEAN)
effective procedure
{ANY}
Execute the given program (how the program is discovered is OS-dependent), passing to it the arguments.
The environment is cleared if keep_environment is False.
require
  • program /= Void
  • is_ready
execute_command_line (command_line: STRING, keep_environment: BOOLEAN)
effective procedure
{ANY}
Execute the command_line through the operating system's basic shell.
The environment is cleared if keep_environment is False.
See also: SYSTEM.execute_command
require
  • command_line /= Void
  • not command_line.is_empty
  • is_ready
is_ready: BOOLEAN
effective function
{ANY}
ensure
set_parallel_process_count (parallel_process_count_: INTEGER_32)
effective procedure
{ANY}
require
  • parallel_process_count_ >= 1
ensure
wait
effective procedure
{ANY}
ensure
maximum_process_count: INTEGER_32
effective function
{ANY}
ensure
parallel_process_count: INTEGER_32
writable attribute
{ANY}
How many processes can run concurrently in a parallel session.
process_count: INTEGER_32
writable attribute
{ANY}
How many processes are currently running.
is_serial: BOOLEAN
writable attribute
{ANY}
Are processes currently launched sequentially rather than concurrently.
set_parallel
effective procedure
{ANY}
set_serial
effective procedure
{ANY}
register_on_launched (on_launched_: PROCEDURE[TUPLE 4[STRING, STRING, TRAVERSABLE[STRING], BOOLEAN]])
effective procedure
{ANY}
ensure
register_on_failed (on_failed_: PROCEDURE[TUPLE 4[STRING, STRING, TRAVERSABLE[STRING], BOOLEAN]])
effective procedure
{ANY}
ensure
register_on_finished (on_finished_: PROCEDURE[TUPLE 5[INTEGER_32, STRING, STRING, TRAVERSABLE[STRING], BOOLEAN]])
effective procedure
{ANY}
ensure
writable attribute
{}
writable attribute
{}
writable attribute
{}
post_launch (process: PROCESS, launch_info: PROCESS_LAUNCH_INFO)
effective procedure
{}
wait_until (process_count_: INTEGER_32)
effective procedure
{}
require
  • process_count_ >= 0
ensure
writable attribute
{}
factory: PROCESS_FACTORY
writable attribute
{}
effective function
{}
new_process: PROCESS
effective function
{}
wait_process: PROCESS
effective function
{}
ensure
  • Result /= Void
make
effective procedure
{}