symfony-doge/veslo 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

symfony-doge/veslo

Composer 安装命令:

composer create-project symfony-doge/veslo

包简介

A vacancy aggregation engine

README 文档

README

                                                  ________________________  
                                                 /                        \ 
,--.                                            /                          |
|  |___________________________________________/_____________________      |
|  |_________________________________________________________________)     |
|  |                                           \                           |
`--'                                            \                          |
                                                 \________________________/ 
        Veslo: a vacancy aggregation engine

Packagist Version Quality Score Code Climate technical debt Packagist

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

installation asciicast

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

www.veslo.it

See also

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 symfony-doge/veslo 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2019-04-11