У меня есть скрипт tabadmin refreshextract, который работает нормально, но теперь мы хотим реализовать его из потока воздуха, единственная проблема в том, что если сеанс повторно подключается, тогда поток данных выдает ошибку в журнале, но в конечном итоге он успешно обновляется.
Мы добавили psql-запрос, чтобы найти, как только извлечение обновления будет выполнено, оно будет извлекать информацию о том, успешно ли оно выполнено или нет.
tabcmd refreshextracts --url workbook_url -s https:// -t site -u tabadmin --password-file C:\Users\abc\Desktop\passwd.txt --no-certcheck
Псевдокод
cd c:\Program Files\PostgreSQL\11\bin
refresh_status='N'
retry_count = 0
while refresh_status = 'N' and retry_count < 20
retry_count++
refresh_status = $(psql -p 8060 -h servername -U readonly -d workgroup -c " select case when lower(notes) like '%finished%' == 'succeed' then 'Y' else 'N" as refresh_status from _background_tasks where Job_name = 'Refresh Extracts' and title = 'workbook_name' and created_at >=CURRENT_DATE ORDER BY created_at desc limit 1")
if refresh_status == 'Y'
EXIT Success
else
continue
continue
if refresh_status = 'N'
exit ERROR