Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

`server.jobs.wait_for_job` fails for ID generated by `create_extract`

Aberta
#1,093 4 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
50/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
python
Domínio
api

Direção de pesquisa

Start at server.jobs.wait_for_job and server.jobs.get_by_id, then compare their behavior with tsc.Pager(server.jobs) for the ID returned by server.datasources.create_extract. Reproduce the 400031 response and trace how each path queries the job; done means the generated extract job ID works with wait_for_job and get_by_id.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug in-progress Server-Side Enhancement

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]
Linguagem predominante
Python
Estrelas
716
Forks
446
Merge médio
8d 8h
PRs com merge (30d)
2

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de tableau/server-client-python

Todas as issues de tableau/server-client-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.