应用程序运行时间少于24小时,并且始终会引发错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用程序运行时间少于24小时,并且始终会引发错误相关的知识,希望对你有一定的参考价值。

这是每20分钟从Shopify到Google表格展示最新250个订单的应用程序。(ubuntu,Node JS,数字海洋)

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小时,并且始终会引发此错误:node js error这是我的第一个应用程序。如何解决?我应该在外面的某个地方运行脚本吗?预先感谢。

答案

在try / catch中包装后,它不会中断。

以上是关于应用程序运行时间少于24小时,并且始终会引发错误的主要内容,如果未能解决你的问题,请参考以下文章

[12小时Javascript Clock显示24时间,错误的AM / PM

在sql中计算总时间hh:mm:ss

跟进:缺少 django Modelform 中所需的 Charfield 被保存为空字符串并且不会引发错误

尝试显示 Flutter 快餐栏会引发异常错误

在 write() 写入的字节数少于请求的字节数后,如何让线程继续?

始终运行的 Windows 程序