openquake.engine package#



openquake.engine.engine module#

Engine: A collection of fundamental functions for initializing and running calculations.

exception openquake.engine.engine.MasterKilled[source]#

Bases: KeyboardInterrupt

Exception raised when a job is killed manually


Check if there is a newer version of the engine.



  • the calculation mode when called from the engine

  • an empty string when called from the WebUI


  • a message if the running version of the engine is obsolete

  • the empty string if the engine is updated

  • None if the check could not be performed (i.e. github is down)

openquake.engine.engine.cleanup(kind, orig_dist)[source]#

Stop or kill the zmq workers

openquake.engine.engine.create_jobs(job_inis, log_level=20, log_file=None, user_name='runner', hc_id=None, multi=True, host=None)[source]#

Create job records on the database.


job_inis – a list of pathnames or a list of dictionaries


a list of LogContext objects

openquake.engine.engine.expose_outputs(dstore, owner='runner', status='complete')[source]#

Build a correspondence between the outputs in the datastore and the ones in the database.


dstore – datastore


an array with the receiver ports

openquake.engine.engine.inhibitSigInt(signum, _stack)[source]#
openquake.engine.engine.manage_signals(signum, _stack)[source]#

Convert a SIGTERM into a SystemExit exception and a SIGINT/SIGHUP into a MasterKilled exception with an appropriate error message.

  • signum (int) – the number of the received signal

  • _stack – the current frame object, ignored

openquake.engine.engine.poll_queue(job_id, poll_time)[source]#

Check the queue of executing/submitted jobs and exit when there is a free slot.


Run a calculation.


log – LogContext of the current job

openquake.engine.engine.run_jobs(jobctxs, concurrent_jobs=None)[source]#

Run jobs using the specified config file and other options.

  • jobctxs – List of LogContexts

  • concurrent_jobs – How many jobs to run concurrently (default num_cores/4)


Look at the number of available workers and update the parameter OqParam.concurrent_tasks.default. Abort the calculations if no workers are available. Do nothing for trivial distributions.


returns: a triple of integers from a version tag


Module contents#

OpenQuake is an open-source platform for the calculation of hazard and risk impact. It is a project of the Global Earthquake Model, and may be extended by other organizations to address additional classes of peril.

For more information, please see the website at This software may be downloaded at gem/openquake

The continuous integration server is at

Up-to-date sphinx documentation is at

This software is licensed under the AGPL license, for more details please see the LICENSE file.

Copyright (C) 2010-2023 GEM Foundation

OpenQuake is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

OpenQuake is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with OpenQuake. If not, see <>.