Выход не останавливая генератор с помощью 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, и нам нужно пропинговать его, чтобы проверить, завершено ли задание и создана ли таблица назначения или нет.

0 ответов

Другие вопросы по тегам