FractalServer¶
- class qcfractal.FractalServer(name: str = 'QCFractal Server', port: int = 7777, loop: IOLoop = None, compress_response: bool = True, security: Optional[str] = None, allow_read: bool = False, ssl_options: Union[bool, Dict[str, str]] = True, storage_uri: str = 'postgresql://localhost:5432', storage_project_name: str = 'qcfractal_default', query_limit: int = 1000, view_enabled: bool = False, view_path: Optional[str] = None, logfile_prefix: str = None, loglevel: str = 'info', log_apis: bool = False, geo_file_path: str = None, queue_socket: BaseAdapter = None, heartbeat_frequency: float = 1800, max_active_services: int = 20, service_frequency: float = 60, skip_storage_version_check=True)[source]¶
Bases:
object
Methods Summary
add_exit_callback
(callback, *args, **kwargs)Adds additional callbacks to perform when closing down the server.
A synchronous method for testing or small launches that awaits task completion before adding all queued results to the database and returning.
await_services
([max_iter])A synchronous method that awaits the completion of all services before returning.
Checks the heartbeats and kills off managers that have not been heard from.
client
()Builds a client from this server.
get_address
([endpoint])Obtains the full URI for a given function on the FractalServer.
Provides a list of tasks currently in the queue along with the associated keys.
list_managers
([status, name])Provides a list of managers associated with the server both active and inactive.
start
([start_loop, start_periodics])Starts up the IOLoop and periodic calls.
stop
([stop_loop])Shuts down the IOLoop and periodic updates.
Updates the public information data
Updates the servers internal log
Runs through all active services and examines their current status.
Pulls tasks from the queue_adapter, inserts them into the database, and fills the queue_adapter with new tasks.
Methods Documentation
- add_exit_callback(callback, *args, **kwargs)[source]¶
Adds additional callbacks to perform when closing down the server.
- Parameters
callback (callable) – The function to call at exit
*args – Arguments to call with the function.
**kwargs – Kwargs to call with the function.
- await_results() bool [source]¶
A synchronous method for testing or small launches that awaits task completion before adding all queued results to the database and returning.
- Returns
Return True if the operation completed successfully
- Return type
bool
- await_services(max_iter: int = 10) bool [source]¶
A synchronous method that awaits the completion of all services before returning.
- Parameters
max_iter (int, optional) – The maximum number of service iterations the server will run through. Will terminate early if all services have completed.
- Returns
Return True if the operation completed successfully
- Return type
bool
- check_manager_heartbeats() None [source]¶
Checks the heartbeats and kills off managers that have not been heard from.
- get_address(endpoint: Optional[str] = None) str [source]¶
Obtains the full URI for a given function on the FractalServer.
- Parameters
endpoint (Optional[str], optional) – Specifies a endpoint to provide the URI for. If None returns the server address.
- Returns
The endpoint URI
- Return type
str
- list_current_tasks() List[Any] [source]¶
Provides a list of tasks currently in the queue along with the associated keys.
- Returns
ret – All tasks currently still in the database
- Return type
list of tuples
- list_managers(status: Optional[str] = None, name: Optional[str] = None) List[Dict[str, Any]] [source]¶
Provides a list of managers associated with the server both active and inactive.
- Parameters
status (Optional[str], optional) – Filters managers by status.
name (Optional[str], optional) – Filters managers by name
- Returns
The requested Manager data.
- Return type
List[Dict[str, Any]]
- start(start_loop: bool = True, start_periodics: bool = True) None [source]¶
Starts up the IOLoop and periodic calls.
- Parameters
start_loop (bool, optional) – If False, does not start the IOLoop
start_periodics (bool, optional) – If False, does not start the server periodic updates such as Service iterations and Manager heartbeat checking.