код разбора облака не выполняет назначенную задачу, и журнал не создается - PullRequest
0 голосов
/ 22 марта 2019

мой код облака afterSave должен запускаться после каждого сохранения, но я не вижу, чтобы он выполнял задачу.также не записывается отладочная информация в локальный файл "temp.txt"

Мой сервер синтаксического анализа работает на Docker-контейнере (может быть, это актуально) Я сделал чистую Docker Run (для запуска сервера синтаксического анализа) после того, как main.js был создан в подпапке / parse-server / cloud , но все еще ничего не вижу

как я могу отладить этопроблема с облачным кодом?

мой контент main.js:

Parse.Cloud.afterSave("Post", (request) => {
var fs = require("fs");
    const image = request.object.get("image").url();
    const detail  = request.object.get("detail");
    const geo = request.object.get("geo");
    const itemId = request.object.get("objectId");
fs.writeFileSync('./temp.txt', request, function(err, data) {
  if (err) console.log(err);
});

    console.log(detail);
    console.log(image);
    console.log(geo);
    console.log('========');

var data =detail+" "+image+" "+geo+" "+request;

fs.appendFileSync("./temp.txt", data, function(err, data) {
  if (err) console.log(err);
  console.log("Successfully Written to File.");
});

    var postRequest = require('request');
    postRequest({
      method: 'POST',
      preambleCRLF: true,
      postambleCRLF: true,
      json: true,
      uri: 'https://graph.facebook.com/1111/feed?access_token=sometoken',
      body:
        {
          message: detail,
          link: image
        }
    },
    function (error, response, body) {
      if (error) {
        return console.error('upload failed:', error);
        console.log('statusCode:', response && response.statusCode);
        fs.appendFileSync("temp.txt", response+" "+ response.statusCode
                ,function(err, data) {
                       if (err) console.log(err);
                });
      }
      console.log('Upload successful!  Server responded with:', body);
    })

  }
);

1 Ответ

1 голос
/ 23 марта 2019

при запуске parse Docker-контейнер (например, с помощью «Docker Run») мы также должны передать « Абсолютный путь к нашему файлу с облачным кодом main.js».(включая main.js)

например:

sudo docker run  --name parse --network=test  --appId <app-id> --masterKey <mater-key>--publicServerURL https://my-url.com/parse --databaseURI mongodb://mongo:port/mongo --cloud /parse-server/<cloudpath>/main.js 

отсутствующий переключатель внутри команды " docker run " здесь был:

- облако /parse-server/cloudpath/main.js

это решило проблему

...