symfony-doge/veslo
Composer 安装命令:
composer create-project symfony-doge/veslo
包简介
A vacancy aggregation engine
README 文档
README
________________________
/ \
,--. / |
| |___________________________________________/_____________________ |
| |_________________________________________________________________) |
| | \ |
`--' \ |
\________________________/
Veslo: a vacancy aggregation engine
Installation
Docker
The preferred way to install is through docker-compose.
You need to have a Docker daemon at least 17.05.0-ce
(with build-time ARG in FROM) to successfully cook all containers.
Run an automated deploy script for local development with Docker.
$ bin/deploy_dev.sh
Roadmap configurations were not automatically loaded by the script, you need to insert them manually with a separate command.
$ docker-compose run --rm app bin/console doctrine:fixtures:load \
--group roadmap.configuration.parameters \
--append
Up to 120 sec may be required for starting up the vacancy parsing process.
Manual
You can clone and deploy the application with your own environment
by providing .env file using .env.dev.dist as a template.
Below are steps to prepare your application before accessing through a web server.
$ git clone git@github.com:symfony-doge/veslo.git veslo && cd "$_"
// setup your own connection parameters
$ cp .env.dev.dist .env
$ cp app/config/parameters.yml.dist app/config/parameters.yml
$ cp webpack.env.dev.js.dist webpack.env.js
Check your environment for Symfony requirements and install PHP dependencies via Composer. You also need the php-ds extension for some services working with efficient PHP 7 data structures.
$ bin/symfony_requirements
$ composer install
Install Javascript dependencies and compile assets via Yarn (Node.js 10.x is required).
$ yarn install
$ yarn run build:dev
Apply database migrations.
$ bin/console doctrine:migrations:migrate latest
Load roadmap configurations.
$ bin/console doctrine:fixtures:load --group roadmap.configuration.parameters --append
Testing
Loading fixtures.
$ docker-compose run --rm app bin/console doctrine:fixtures:load --group test
Applying Codeception parameters.
$ cp parameters.codeception.dev.yml.dist parameters.codeception.yml
Executing tests.
$ docker-compose run --rm app bin/codecept run --steps
Workflow
FOUND (initial place)
|
| to_parse
------------> PARSED
|
| to_collect
------------> COLLECTED
|
| to_index
------------> INDEXED
There is a set of log files suited for debugging an each workflow transition.
var/logs contains:
| Log file | Description |
|---|---|
dev.anthill.digging-YYYY-mm-dd.log |
Search process (to_parse) |
dev.anthill.parsing-YYYY-mm-dd.log |
Parsing process (to_collect) |
dev.anthill.collecting-YYYY-mm-dd.log |
Saving in local storage (to_index) |
dev.sanity.indexing-YYYY-mm-dd.log |
Analysis |
dev.app.workflow-YYYY-mm-dd.log |
Queue get/push events (data distribution between workers) |
dev.app.http-YYYY-mm-dd.log |
Dumping all HTTP requests/responses (works if app.http_client.logging is true) |
dev-YYYY-mm-dd.log |
A common Symfony log file |
API
$ docker-compose run --rm app bin/console veslo:anthill:digging hh php --iterations=1
Finds a vacancy from job site by roadmap (search plan) and configuration.
Search result will be offered to parsing queue,
according to current workflow (default veslo.app.workflow.vacancy_research.to_parse).
Available roadmaps are defined in AnthillBundle/Resources/config/roadmaps.yml
and configurations in AnthillBundle/Resources/fixtures/roadmap/.
$ docker-compose run --rm app bin/console veslo:anthill:parsing --iterations=1
Polls a new raw vacancy data (html/json etc.) for parsing.
Result will be offered to collecting queue
(default veslo.app.workflow.vacancy_research.to_collect).
$ docker-compose run --rm app bin/console veslo:anthill:collecting --iterations=1
Grabs a parsed vacancy data (instance of AnthillBundle/Dto/Vacancy/RawDto)
and decides whether should it be collected for analysis or not.
Result will be persisted in the local storage and offered to the indexing queue
(default veslo.app.workflow.vacancy_research.to_index)
$ docker-compose run --rm app bin/console veslo:sanity:indexing --iterations=1
Sends an accepted vacancy to the microservice for analysis (see ANALYSER_HOST, ANALYSER_PORT)
and persists received metadata in the local storage. Remote service implements
API defined by symfony-doge/ministry-of-truth-client bridge.
Example (Go + Gin): symfony-doge/ministry-of-truth-cis.
Currently supported roadmaps:
- hh (configurations:
php,javascript,golang,python,java,c++)
Usage example
See also
- symfony-doge/management-kit — A set of monitoring & management GUI tools to manage data & processes of this project.
Changelog
All notable changes to this project will be documented in CHANGELOG.md.
symfony-doge/veslo 适用场景与选型建议
symfony-doge/veslo 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 2, 最近一次更新时间为 2019 年 04 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 symfony-doge/veslo 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 symfony-doge/veslo 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2019-04-11
