Использование модели Waterline вне SailsJS api

Можно ли использовать модели, определенные в [app-name]/api/models за пределами api папки?

Я создал отдельную папку в корне приложения, где разместил задание cron, которое должно заполнять мою базу данных каждый час. Я хотел бы повторно использовать модели, определенные в моей папке api, но не знаю, как это сделать.

Я вижу, что могу делать sails.lift внутри этого cron-скрипта, но мне это не кажется очень приятным.

Кто-нибудь испытывал нечто подобное? Я новичок в node.js, поэтому, возможно, мне не хватает чего-то довольно очевидного.


person Ned    schedule 09.06.2014    source источник


Ответы (1)


Если при использовании sails.lift вас беспокоит то, что он запускает фактический HTTP-сервер, который прослушивает запросы, вы можете вместо этого использовать sails.load. Он будет делать все, что делает lift, включая загрузочные крючки и модели, кроме запуска сервера.

var Sails = require('sails');
Sails.load(function(err, sails) {
   // At this point you have access to all your models, services, etc.
});
person sgress454    schedule 09.06.2014
comment
Похоже, это то, что я искал! Я попробую и дам вам знать! - person Ned; 09.06.2014
comment
Да, это именно то, что я искал! Большое спасибо! - person Ned; 09.06.2014
comment
Мне это понадобилось для работы с моими моделями из скрипта node.js, спасибо - person mzalazar; 06.02.2015
comment
Используйте process.exit(), чтобы завершить работу сценария. Если только нет парусного метода. - person Lex; 17.02.2015
comment
@gotmikhail да, у меня работает, просто написал сценарий парусов для планировщика Heroku, используя фрагмент выше - person ccurtisj; 30.08.2015