qcg.pilotjob.executor_api.qcgpj_future module

class qcg.pilotjob.executor_api.qcgpj_future.QCGPJFuture(ids, qcgpjm)

Bases: object

QCG-PilotJob Future tracks execution of tasks submitted to QCG-PilotJob via QCGPJExecutor.

Parameters
  • ids (list(str)) – list of identifiers of tasks submitted to a QCG-PilotJob manager

  • qcgpjm (LocalManager) – QCG-PilotJob manager instance, to which tasks have been submitted

Return type

None

qcgpjm: LocalManager
result(timeout=None)

Waits for finish of tasks assigned to this future and once finished results their statuses.

This method waits until all tasks assigned to the future are executed (successfully or not). The QCG-PilotJob manager is periodically polled about status of not finished jobs. The poll interval (2 sec by default) can be changed by defining a ‘poll_delay’ key with appropriate value (in seconds) in configuration of instance.

Parameters

timeout (int) – currently not used

Return type

dict - a map with tasks names and their terminal status

done()

Checks if the future has been finished

Checks if all tasks assigned to the future are already finished.

Return type

True if all tasks are finished, False otherwise

running()

Checks if the future is still running

Checks if any of tasks assigned to the future are still running.

Return type

True if any of tasks is still running, False otherwise

cancel()

Cancels the future

Cancels all tasks assigned to the future.

Return type

True if the operation succeeded.

cancelled()

Checks if the future has been already cancelled

Checks if the future, and by consequence all the tasks assigned to this future, have been cancelled.

Return type

True if the future has been cancelled, False otherwise.