您能否以编程方式监控Tableau中增量刷新的进度?

时间:2016-12-15 20:44:25

标签: tableau tableau-server

  • 我查看过TDE(Tableau数据提取)API,它似乎只用于创建和编辑Tableau数据提取,但不用于监视进度。
  • 我还查看了tabcmd,看起来除非您使用{{1}}命令进行完全刷新,否则除非您登录到Tableau Server,否则无法监视刷新。
  • 我甚至看过连接到Postgres DB Tableau的用法,看看我是否可以监控来自_background_tasks,async_jobs,background_jobs,extract,extract_sessions或historical_events表的刷新,但我仍然无法找到监控增量刷新进度。

我错过了什么吗?我需要监视增量刷新的进度,以便在完成另一个进程时启动。反正有吗?

1 个答案:

答案 0 :(得分:0)

我不知道我怎么看这个,但我做到了。 _background_tasks表中有一个名为job_name的列。我想"刷新提取物"是唯一的指标,但也有一个名为"增量提取"的值。这是一个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