2016-12-15 56 views
0
  • 我已經查看了TDE(Tableau Data Extract)API,它似乎只用於創建和編輯Tableau Data Extracts,但不用於監視進度。
  • 我也看了看tabcmd,除非您正在使用--synchronous命令進行全面刷新,否則無法監視刷新,除非您登錄到Tableau Server。
  • 我甚至考慮過連接Postgres數據庫Tableau用來查看是否可以監視來自_background_tasks,async_jobs,background_jobs,extract,extract_sessions或historical_events表的刷新,但我仍然無法找到監視增量刷新的方法進展。

我錯過了什麼嗎?我需要監視增量刷新的進度,以便在完成另一個進程時啓動。無論如何要做到這一點?您能否以編程方式監視Tableau中增量刷新的進度?

回答

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 
相關問題