Выход не останавливая генератор с помощью co в nodejs с заданиями bigquery
co(const levelOneQueries = function*(){
try{
var data = yield getResults(queries.sqlQuery1,queries.dest_sqlQ1);
console.log("Level One Query Output",data);
} catch(err){
console.log('Error gettinng results',err);
throw err;
}
return data;
})
const getResults = function* (sqlQuery,destTable){
console.log('Inside From getResults');
bigquery.startQuery({
destination: bigquery.dataset('topshowanalysis').table(destTable),
writeDisposition: 'WRITE_TRUNCATE',
allowLargeResults: 'TRUE',
query: sqlQuery
}, (err, job) => {
job.getQueryResults((err, rows) => {
result = rows;
console.log("Rows",rows);
return result;
})
})
};
Я использую библиотеку co для приостановки этой функции / генератора getResults. Что не работает в настоящее время, пожалуйста, помогите мне с этим также вызовом функции getResults BigQuery Query для вычисления результатов и сохранения его в таблице назначения. Я хотел подождать, пока работа не будет завершена и таблица назначения не будет создана.
В настоящее время bigQuerie startQuery просто дает мне jobId, и нам нужно пропинговать его, чтобы проверить, завершено ли задание и создана ли таблица назначения или нет.