узел js дочерний процесс Python Geojson в качестве параметра - PullRequest
0 голосов
/ 22 февраля 2019

Я делаю sql-запрос к моей базе данных postgis в node.js, который возвращает объект GEOJSON.Я хочу передать этот GEJSON (в виде строки) дочернему процессу python на том же сервере:

var spawn = require("child_process").spawn;
var process = spawn('python', ['scripts/hello.py', JSON.stringify(geoJson)]);

, но я получаю эту ошибку в узле:

Error: spawn ENAMETOOLONG
       ...

Я заметилчто с меньшим объектом GEOJSON проблем нет.

Мое следующее решение - записать объект GEOJSON в файл из node.js и передать только путь к дочернему процессу, но мне интересно, есть ли лучшийрешение без использования этого временного файла.

1 Ответ

0 голосов
/ 22 февраля 2019

Как насчет передачи данных через поток stdio?

var spawn = require("child_process").spawn;
var process = spawn('python', ['scripts/hello.py']);
process.stdin.end(JSON.stringify(geoJson));
...