Skip to content

server.jobs.wait_for_job fails for ID generated by create_extract #1093

Description

@eschranz

Describe the bug
The job ID generated when creating an extract via TSC is not queryable by the server.jobs.wait_for_job method.

Versions
Details of your environment, including:

  • Tableau Server version 3.10
  • Python 3.8.12
  • tableauserverclient==0.19.0

To Reproduce

refresh_job = server.datasources.create_extract(datasource_item)
job_status = server.jobs.wait_for_job(refresh_job.id)

# Also
server.jobs.get_by_id(refresh_job.id)

Results

400031: Bad Request
    There was a problem querying job '{refresh_job.id}'.

Solution

from tableauserverclient.exponential_backoff import ExponentialBackoffTimer

refresh_job = server.datasources.create_extract(datasource_item)
backoff_timer = ExponentialBackoffTimer()

job = list(j for j in tsc.Pager(server.jobs) if j.id == refresh_job.id)[0]     
while job.ended_at is None:
    backoff_timer.sleep()
    print(f"{refresh_job.id} still running")
    job = list(j for j in tsc.Pager(server.jobs) if j.id == refresh_job.id)[0]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions