Esempio n. 1
0
    def __init__(self, _backend: BaseBackend, api: AccountClient, _job_id: str,
                 _creation_date: datetime, _api_status: ApiJobStatus,
                 **kwargs: Any) -> None:
        """IBMQJob init function.

        Args:
            _backend: the backend instance used to run this job.
            api: object for connecting to the API.
            _job_id: job ID of this job.
            _creation_date: job creation date.
            _api_status: API job status.
            kwargs: additional job attributes, that will be added as
                instance members.
        """
        # pylint: disable=redefined-builtin
        BaseModel.__init__(self,
                           _backend=_backend,
                           _job_id=_job_id,
                           _creation_date=_creation_date,
                           _api_status=_api_status,
                           **kwargs)
        BaseJob.__init__(self, self.backend(), self.job_id())

        # Model attributes.
        self._api = api
        self._use_object_storage = (self.kind == ApiJobKind.QOBJECT_STORAGE)
        self._queue_info = None  # type: Optional[QueueInfo]
        self._update_status_position(_api_status,
                                     kwargs.pop('infoQueue', None))

        # Properties used for caching.
        self._cancelled = False
        self._job_error_msg = None  # type: Optional[str]
Esempio n. 2
0
    def __init__(
            self,
            backend: 'ibmqbackend.IBMQBackend',
            api: AccountClient,
            job_id: str,
            creation_date: str,
            status: str,
            kind: Optional[str] = None,
            name: Optional[str] = None,
            time_per_step: Optional[dict] = None,
            result: Optional[dict] = None,
            qobj: Optional[Union[dict, QasmQobj, PulseQobj]] = None,
            error: Optional[dict] = None,
            tags: Optional[List[str]] = None,
            run_mode: Optional[str] = None,
            **kwargs: Any
    ) -> None:
        """IBMQJob constructor.

        Args:
            backend: The backend instance used to run this job.
            api: Object for connecting to the server.
            job_id: Job ID.
            creation_date: Job creation date.
            status: Job status returned by the server.
            kind: Job type.
            name: Job name.
            time_per_step: Time spent for each processing step.
            result: Job result.
            qobj: Qobj for this job.
            error: Job error.
            tags: Job tags.
            run_mode: Scheduling mode the job runs in.
            kwargs: Additional job attributes.
        """
        self._backend = backend
        self._api = api
        self._job_id = job_id
        self._creation_date = dateutil.parser.isoparse(creation_date)
        self._api_status = status
        self._kind = ApiJobKind(kind) if kind else None
        self._name = name
        self._time_per_step = time_per_step
        self._result = Result.from_dict(result) if result else None
        if isinstance(qobj, dict):
            qobj = dict_to_qobj(qobj)
        self._qobj = qobj
        self._error = error
        self._tags = tags or []
        self._run_mode = run_mode
        self._status, self._queue_info = \
            self._get_status_position(status, kwargs.pop('info_queue', None))
        self._use_object_storage = (self._kind == ApiJobKind.QOBJECT_STORAGE)

        SimpleNamespace.__init__(self, **kwargs)
        BaseJob.__init__(self, self.backend(), self.job_id())

        # Properties used for caching.
        self._cancelled = False
        self._job_error_msg = None  # type: Optional[str]
Esempio n. 3
0
    def __init__(self, _backend: BaseBackend, api: AccountClient, _job_id: str,
                 _creation_date: str, kind: ApiJobKind, _status: ApiJobStatus,
                 **kwargs: Any) -> None:
        """IBMQJob init function.

        Args:
            _backend (BaseBackend): the backend instance used to run this job.
            api (AccountClient): object for connecting to the API.
            _job_id (str or None): job ID of this job.
            _creation_date (str): job creation date.
            kind (ApiJobKind): job kind.
            _status (ApiJobStatus): job status.
            kwargs (dict): additional job attributes, that will be added as
                instance members.
        """
        # pylint: disable=redefined-builtin
        BaseModel.__init__(self,
                           _backend=_backend,
                           _job_id=_job_id,
                           _creation_date=_creation_date,
                           kind=kind,
                           _status=_status,
                           **kwargs)
        BaseJob.__init__(self, self.backend(), self.job_id())

        # Model attributes.
        self._api = api
        self._use_object_storage = (self.kind == ApiJobKind.QOBJECT_STORAGE)
        self._queue_position = None
        self._update_status_position(_status, kwargs.pop('infoQueue', None))

        # Properties used for caching.
        self._cancelled = False
        self._job_error_msg = self._error.message if self._error else None
Esempio n. 4
0
    def __init__(self,
                 _backend: BaseBackend,
                 api: AccountClient,
                 _job_id: str,
                 _creation_date: datetime,
                 _api_status: ApiJobStatus,
                 **kwargs: Any) -> None:
        """IBMQJob constructor.

        Args:
            _backend: The backend instance used to run this job.
            api: Object for connecting to the server.
            _job_id: Job ID.
            _creation_date: Job creation date.
            _api_status: Job status returned by the server.
            kwargs: Additional job attributes.
        """
        # pylint: disable=redefined-builtin

        # Convert qobj from dictionary to Qobj.
        if isinstance(kwargs.get('_qobj', None), dict):
            self._qobj = Qobj.from_dict(kwargs.pop('_qobj'))

        BaseModel.__init__(self, _backend=_backend, _job_id=_job_id,
                           _creation_date=_creation_date,
                           _api_status=_api_status, **kwargs)
        BaseJob.__init__(self, self.backend(), self.job_id())

        # Model attributes.
        self._api = api
        self._use_object_storage = (self.kind == ApiJobKind.QOBJECT_STORAGE)
        self._queue_info = None     # type: Optional[QueueInfo]
        self._status, self._queue_info = self._get_status_position(
            _api_status, kwargs.pop('info_queue', None))

        # Properties used for caching.
        self._cancelled = False
        self._job_error_msg = None  # type: Optional[str]