【问题标题】:Can you monitor the progress of an incremental refresh in Tableau programmatically?您能否以编程方式监控 Tableau 中增量刷新的进度?
【发布时间】:2016-12-16 22:48:42
【问题描述】:
  • 我查看了 TDE(Tableau 数据提取)API,它似乎仅用于创建和编辑 Tableau 数据提取,但不用于监控进度。
  • 我还查看了 tabcmd,似乎除非您使用 --synchronous 命令进行完全刷新,否则除非您登录到 Tableau Server,否则无法监控刷新。
  • 我什至查看了连接到 Tableau 使用的 Postgres DB 以查看我是否可以监控来自 _background_tasks、async_jobs、background_jobs、extracts、extract_sessions 或 history_events 表的刷新,但我仍然找不到监控增量刷新的方法进步。

我错过了什么吗?我需要监视增量刷新的进度,以便在它完成时启动另一个进程。有没有办法做到这一点?

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    我不知道我是怎么看这个的,但我做到了。 _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
    

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      • 2019-01-30
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多