Облачная функция работает локально, но после того, как развертывание перестает работать.
Цель состоит в том, чтобы получить ссылки из поисковых систем для определенного запроса, чтобы впоследствии искать внутри каждой страницы определенную информацию.
Я пробовал в heroku, но он также не работает.
index.js
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const credential = require('./xxx-firebase-adminsdk-xxx-xxx.json')
const sec = require('search-engine-client');
console.log('initialing functions at ', new Date().toString())
admin.initializeApp({ credential: admin.credential.cert(credential), databaseURL: "https://wasender-fa4c9.firebaseio.com" });
exports.getLinks = functions.runWith({ timeoutSeconds: 540 }).https.onCall((data, context) => {
console.log('starting to get links ', new Date().toString())
console.log('search-engine-client working? ', sec)
sec.google("text to search").then(function(result){
console.log('google result',result); // these lines are not getting printed in the function log
});
sec.bing("text to search").then(function(result){
console.log('bing result',result); // these lines are not getting printed in the function log
});
})
Он не печатает никаких ссылок на результаты поиска для поисковых систем.
Log
search-engine-client working? { google: [AsyncFunction: GetLinks],
bing: [AsyncFunction: GetLinks],
aol: [AsyncFunction: GetLinks],
ask: [AsyncFunction: GetLinks],
yahoo: [AsyncFunction: GetLinks],
duckduckgo: [AsyncFunction: GetLinks],
baidu: [AsyncFunction: GetLinks],
builder: [AsyncFunction: LinkBuilder] }
Полный код доступен на pastebin: https://pastebin.com/aCRJrFk5
Отредактировано
Я обнаружил, что nightmare.js и электрон будут работать толькона Aws и Azure.Сейчас я пытаюсь развернуть его на Azure.
Очевидно, потому что Nightmare.js использует Electron, для него требуется операционная система с графическим интерфейсом пользователя.В противном случае не работает.VPS может быть решением для этого случая.