Простейший фетчер новостей из RSS/ATOM лент
Для установки необходимо сделать следущее
git clone https://github.com/pasynkov/feed-fetcher.git
Затем необходимо создать конфиг приложения:
в ./config/config.sample.json
находится пример конфига, его можно переименовать в config.json
, или скопировать,
но config.json
должен присутствовать в проекте.
##Описание конфига
webServer - раздел веб-сервера
webServer.port - порт прослушивания веб-сервера
mysql - раздел конфигурации БД (необзятельно, в случае отсутствия подключения будет хранить данные в статике)
mysql.host - хост БД
mysql.port - порт
mysql.user - имя пользователя
mysql.password - пароль
mysql.database - база данных (приложение самостоятельно создаст таблицу в случае ее отсутствия)
fetcher - раздел фетчинга
fetcher.staticDir - папка для сохранения статики (если нет подключения к БД)
fetcher.feeds - массив фетчеров
fetcher.feeds.$.name - имя фетчера
fetcher.feeds.$.link - ссылка на ленту
fetcher.feeds.$.fetcher - (необязательно) если указано в качестве фетчера будет использовал этот класс приложения
(./fetchers/some_fetcher.coffee
)
cron - раздел планировщика заданий (массив)
cron.$.runOn - время выполнения задания (формат * * * * * * )
cron.$.script - скрипт для этого задания
ui - фроентенд-раздел приложения
ui.perPage - кол-во записей на страницу
##Что делает feed-fetcher Изначально feed-fetcher парсит новости из RSS-ленты по заданию планировщика, кладет в базу и предоставляет наипростейший веб-интерфейс для их чтения. Но фактически это мини-фрейморк, и в его рамках возможностей может быть больше.
##Доп. возможности Можно добавлять и другие обработчики RSS-лент, достаточно добавить его в конфиг и написать класс-обработчик на подобие DefaultFetcher (но совсем не обязательно, стандартный фетчер может попробовать справиться с этим), и вуаля!
##Демонизация
В проекте присутствует настроенный конфиг для запуска приложения через pm2
(./config/pm2.json
), поэтому достаточно
просто создать папку logs (для сбора логов приложения, для *UNIX - mkdir logs
) и совершить команду через консоль
pm2 start config/pm2.json
и приложение начнет работать.