2016-12-15 4 views
0
  • Я просмотрел API TDE (Tableau Data Extract) и кажется, что он используется только для создания и редактирования Data Data Data Extracts, но не для отслеживания прогресса.
  • Я также посмотрел на tabcmd, и кажется, что если вы не выполняете полное обновление, используя команду --synchronous, тогда нет способа контролировать обновление, если вы не вошли в систему Tableau Server.
  • Я даже посмотрел на соединение с таблицей Postgres DB Tableau, чтобы посмотреть, могу ли я контролировать обновление из _background_tasks, async_jobs, background_jobs, extracts, extract_sessions или history_events, но я все еще не мог найти способ отслеживать инкрементное обновление прогресс.

Я что-то не хватает? Мне нужно отслеживать ход инкрементного обновления, поэтому, когда он заканчивается, начинается новый процесс. Есть какой-либо способ сделать это?Можете ли вы отслеживать ход инкрементного обновления в Таблице программно?

ответ

0

Я не знаю, как я это выглядел, но я это сделал. В таблице _background_tasks находится столбец с именем job_name. Я думал, что «Refresh Extracts» был единственным индикатором, но есть также значение «Increment Extracts». Вот сценарий Python, чтобы найти те дополнительные задания обновления, с которыми они преуспели, их прогресс, имя выписки и время их завершения после их завершения. Я использую Python 2.7. Надеюсь, кто-то найдет это полезным.

import psycopg2 


try: 
    conn = psycopg2.connect("dbname='database' user='user' host='localhost' password='password' " 
         "port='portnumber'") 
    cur = conn.cursor() 
    cur.execute("SELECT finish_code, progress, title, completed_at FROM _background_tasks where job_name = 'Increment " 
      "Extracts' and POSITION('my_incremental_extract' IN title) > 0") 

    query_result = cur.fetchall() 
    for row in query_result: 
     if row[0] == 0: 
      print 'Finished succesfully' 
     else: 
      print 'Failed' 
     print 'Progress: ' + str(row[1]) 
     print 'Job: ' + row[2] 
     print 'Time completed: ' + str(row[3]) 
     print '*******************************************new record*****************************************' 
except Exception as tb_ex: 
    print tb_ex 
Смежные вопросы