Я развертываю некоторый код, используя Apify в качестве облачных функций Google. При срабатывании облачная функция завершается беззвучно. Что я делаю не так?
У меня есть рабочий код, использующий Apify 0.15.1. Локально работает. После развертывания в качестве облачной функции Google происходит сбой без каких-либо явных ошибок. Эквивалентный код, использующий Puppeteer 1.18.1, работает нормально.
Я воспроизвел проблему, используя более простой код ниже. Хотя этот пример строго не требует Apify, я хотел бы иметь возможность использовать дополнительные функции, предоставляемые Apify.
Код с использованием Apify:
const Apify = require("apify");
exports.screenshotApify = async (req, res) => {
let imageBuffer;
Apify.main(async () => {
const browser = await Apify.launchPuppeteer({ headless: true });
const page = await browser.newPage();
await page.goto("https://xenaccounting.com");
imageBuffer = await page.screenshot({ fullPage: true });
await browser.close();
});
if (res) {
res.set("Content-Type", "image/png");
res.send(imageBuffer);
}
return imageBuffer;
};
Код с использованием кукловода:
const puppeteer = require("puppeteer");
exports.screenshotPup = async (req, res) => {
const browser = await puppeteer.launch({ args: ["--no-sandbox"] });
const page = await browser.newPage();
await page.goto("https://xenaccounting.com");
const imageBuffer = await page.screenshot({ fullpage: true });
await browser.close();
if (res) {
res.set("Content-Type", "image/png");
res.send(imageBuffer);
}
return imageBuffer;
};
После развертывания в качестве облачной функции Google (с --trigger-http и --memory = 2048) вариант Puppeteer работает нормально, тогда как вариант Apify завершается без вывода сообщений без результата (за исключением возврата 'ok' / HTTP 200). значение).