首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序的工作时间不到24小时,并且总是抛出错误

应用程序的工作时间不到24小时,并且总是抛出错误
EN

Stack Overflow用户
提问于 2019-10-10 22:47:04
回答 1查看 72关注 0票数 0

这是应用程序渲染最新的250订单,每隔20分钟从Shopify到谷歌工作表。(ubuntu,node js,数字海洋)

代码语言:javascript
复制
const {google} = require('googleapis');
const keys = require('./keys.json');
const Shopify = require('shopify-api-node');
const client = new google.auth.JWT(
    keys.client_email,
    null,
    keys.private_key,
    ['https://www.googleapis.com/auth/spreadsheets',
    'https://www.googleapis.com/auth/drive.metadata.readonly']
);
const shopify = new Shopify({
  shopName: 'shopname.myshopify.com',
  apiKey: 'key',
  password: 'pas'
});
const sheets = google.sheets({version: 'v4', auth: client});
const drive = google.drive({version: 'v3', auth: client});

let links = [];

async function runDrive(ord, sku){
    const resDrive = await drive.files.list({
    pageSize: 1,
    q: sku,
    spaces: 'drive',
    });
    const files = resDrive.data.files;
    let link;
    if (files.length) {
      link = `https://drive.google.com/file/d/${files[0].id}/view`;
    } else {
      link = 'No files found.';
    }
    console.log([ord, sku, link])
    links.push([ord, sku, link])
}

async function gsrun(){
  links = [];
  
  // Shopify - Get orders list
  let orders = await shopify.order.list({ limit: 250 });

  for (const ord of orders){
    for(const item of ord.line_items){
      await runDrive(ord.order_number, item.sku)
    }
  }

  // Sheets - Update cells
  const clearRange = {
    spreadsheetId: 'spreadsheetId',
    range: 'Data!A3:G700'
  }
  const updateData = {
      spreadsheetId: 'spreadsheetId',
      range: 'Data!A3',
      valueInputOption: 'USER_ENTERED',
      resource: { values: links},
  };
  await sheets.spreadsheets.values.clear(clearRange);
  console.log('Sheet cleaned')
  await sheets.spreadsheets.values.update(updateData);
  console.log('Sheet updated')

  setTimeout(()=> {
    console.log('repeat');
    gsrun();
  }, 1200000);
}

gsrun();

它的工作时间不到24小时,并且总是抛出这个错误:

这是我的第一个应用。如何修复它?我应该在外面的某个地方运行这个脚本吗?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-14 21:48:44

在包装了try / catch之后,它不会中断地工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58325630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档