精华内容
参与话题
问答
  • pipeline

    2019-05-16 11:51:00
    1 次 pipeline(n条命令)查询时间 = 1 次网络时间 + n 次命令时间; 两点注意 redis 的命令时间是微秒级的; pipeline 每次条数要控制; 客户端实现 import redis.clients.jedis.Jedis; import redis.clients....
        

    什么是流水线

    • 1 次 pipeline(n条命令)查询时间 = 1 次网络时间 + n 次命令时间;
    两点注意
    • redis 的命令时间是微秒级的;
    • pipeline 每次条数要控制;

    客户端实现

    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.Pipeline;
    
    public class PipelineMain {
    
        public static void main(String[] args) {
            Jedis jedis = new Jedis(Const.HOST, Const.PORT);
            for(int i = 0; i < 100; i++) {
                Pipeline pipeline = jedis.pipelined();
                for(int j = i * 100; j < (i + 1) * 100; j++) {
                    pipeline.hset("hashkey:" + j, "field" + j, "value" + j);
                }
                pipeline.syncAndReturnAll();
            }
        }
    
    }
    

    与原生M操作对比

    • M操作是原子性的;
    • pipeline 不是原子性的;

    使用建议

    • 注意每次 pipeline 携带的数量;
    • pipeline 每次只能作用在一个 redis 节点上;
    展开全文
  • Pipeline

    2017-04-27 12:15:26
    Pipeline  Chapter Sub-Sections Getting Started with Pipeline Using a Jenkinsfile Branches and Pull Requests Extending with Shared Libraries Pipeline Syntax Table of ...


    Pipeline 

    This chapter will cover all aspects of Jenkins Pipeline, from running Pipelines to writing Pipeline code, and even extending Pipeline itself.

    This chapter is intended to be used by Jenkins users of all skill levels, but beginners may need to refer to some sections of "Using Jenkins" to understand some topics covered in this chapter.

    If you are not yet familiar with basic Jenkins terminology and features, start with Getting Started with Jenkins.

    What is Pipeline?

    Jenkins Pipeline is a suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins. Pipeline provides an extensible set of tools for modeling simple-to-complex delivery pipelines "as code" via the Pipeline DSL[1]

    Typically, this "Pipeline as Code" would be written to a Jenkinsfile and checked into a project’s source control repository, for example:

    Jenkinsfile (Declarative Pipeline)
    pipeline {
        agent any 
    
        stages {
            stage('Build') { 
                steps { 
                    sh 'make' 
                }
            }
            stage('Test'){
                steps {
                    sh 'make check'
                    junit 'reports/**/*.xml' 
                }
            }
            stage('Deploy') {
                steps {
                    sh 'make publish'
                }
            }
        }
    }
    agent indicates that Jenkins should allocate an executor and workspace for this part of the Pipeline.
    stage describes a stage of this Pipeline.
    steps describes the steps to be run in this stage
    sh executes the given shell command
    junit is a Pipeline step provided by the JUnit plugin for aggregating test reports.

    Why Pipeline?

    Jenkins is, fundamentally, an automation engine which supports a number of automation patterns. Pipeline adds a powerful set of automation tools onto Jenkins, supporting use cases that span from simple continuous integration to comprehensive continuous delivery pipelines. By modeling a series of related tasks, users can take advantage of the many features of Pipeline:

    • Code: Pipelines are implemented in code and typically checked into source control, giving teams the ability to edit, review, and iterate upon their delivery pipeline.

    • Durable: Pipelines can survive both planned and unplanned restarts of the Jenkins master.

    • Pausable: Pipelines can optionally stop and wait for human input or approval before continuing the Pipeline run.

    • Versatile: Pipelines support complex real-world continuous delivery requirements, including the ability to fork/join, loop, and perform work in parallel.

    • Extensible: The Pipeline plugin supports custom extensions to its DSL [1] and multiple options for integration with other plugins.

    While Jenkins has always allowed rudimentary forms of chaining Freestyle Jobs together to perform sequential tasks, [2] Pipeline makes this concept a first-class citizen in Jenkins.

    Building on the core Jenkins value of extensibility, Pipeline is also extensible both by users with Pipeline Shared Libraries and by plugin developers. [3]

    The flowchart below is an example of one continuous delivery scenario easily modeled in Jenkins Pipeline:

    realworld pipeline flow
    Figure 1. Pipeline Flow

    Pipeline Terms

    Step

    A single task; fundamentally steps tell Jenkins what to do. For example, to execute the shell command make use the sh step: sh 'make'. When a plugin extends the Pipeline DSL, that typically means the plugin has implemented a new step.

    Node

    Most work a Pipeline performs is done in the context of one or more declared node steps. Confining the work inside of a node step does two things:

    1. Schedules the steps contained within the block to run by adding an item to the Jenkins queue. As soon as an executor is free on a node, the steps will run.

    2. Creates a workspace (a directory specific to that particular Pipeline) where work can be done on files checked out from source control.

    Depending on your Jenkins configuration, some workspaces may not get automatically cleaned up after a period of inactivity. See tickets and discussion linked from JENKINS-2111 for more information.
    Stage

    stage is a step for defining a conceptually distinct subset of the entire Pipeline, for example: "Build", "Test", and "Deploy", which is used by many plugins to visualize or present Jenkins Pipeline status/progress. [4]


    2. Additional plugins have been used to implement complex behaviors utilizing Freestyle Jobs such as the Copy Artifact, Parameterized Trigger, and Promoted Builds plugins

    https://jenkins.io/doc/book/pipeline/
    展开全文
  • .NET Core pipeline

    2020-12-09 01:40:50
    <p>I added a .NET Core pipeline sample <h4>How should this be tested? <p>ansible-playbook -i ./.applier/ galaxy/openshift-applier/playbooks/openshift-cluster-seed.yml -e sb_source_repository_url=...
  • Scrapy Pipeline

    千次阅读 2020-01-20 01:52:31
    Scrapy 中的 Pipeline 为我们提供了处理数据的功能,在实际开发中我们经常使用它来清洗/验证数据、去重和数据保存。在一个项目中会存在多种 Pipeline ,每个 Pipeline 都是一个 class ,其中包含了一些处理的 Item ...

    Scrapy 中的 Pipeline 为我们提供了处理数据的功能,在实际开发中我们经常使用它来清洗/验证数据、去重和数据保存。在一个项目中会存在多种 Pipeline ,每个 Pipeline 都是一个 class ,其中包含了一些处理的 Item 的方法。 Item 会在这些 Pipeline 中按顺序依次传递,如果其中一个 Pipeline 丢弃了 Item ,那么后面未执行到的 Pipeline 将不会收到这个 Item 。

    零、自定义 Pipeline

    自定义 Pipeline 其实很简单,只需要实现指定的方法即可。

    1. process_item (self,item,spider)
    • 解释:该方法必须实现,处理数据的工作都在这个方法中进行,方法返回 dict 、Item 、 Twisted Deferred 或者是 DropItem 异常。
    • 参数:
      • item : 被爬取的 Item ;
      • spider : 爬取 Item 时所使用的 Spider 。

    Tip : 如果在 process_item 方法中丢弃了 Item ,那么这个 Item 将不会向后续 Pipeline 传递这个 Item 。

    1. open_spider(self,spider)
    • 解释:爬虫开始运行时,将会在这个方法中执行一些初始化工作,例如打开数据库、打开文件等。
    • 参数:
      • spider : 当前正在使用的 Spider
    1. close_spider(self,spider)
    • 解释:爬虫关闭时,将会在这个方法中执行一些后续工作,例如关闭数据库、关闭文件等。
    • 参数:
      • spider : 当前正在使用的 Spider
    1. from_crawl(self,crawler)
    • 解释:方法为类方法,通过初始化 crawler 对象返回 Pipeline 实例。我们可以通过 crawler 返回所有 Scrapy 核心组件。

    一、特殊的 Pipeline

    在一些项目中我们不仅要爬取网页的数据,还需要爬取文件或图片,并保存在本地。这时我们就需要用到 Scrapy 中特殊的 Pipeline :FilesPipeline 和 ImagesPipeline ,它们具有一些相同的方法和结构与,我们称这种 Pipeline 为 MediaPipeline 。FilesPipeline 和 ImagesPipeline 都包含如下特性:

    • 避免重复下载数据
    • 指定存储位置

    ImagesPipeline 又包含如下特性:

    • 图片转换为 JPG 格式或者 RGB 格式
    • 生成缩略图
    • 限制图片下载的最大/最小宽高

    Tip:Scrapy Pipeline 避免重复下载的方法是将要下载的文件的 URL 放入一个队列中,并且和 Response 关联,从而避免了重复下载。

    1. FilesPipeline

    FilesPipeline 下载文件的工作流程非常简单,一共有四个步骤:

    • 爬虫把获取到的 Item 和希望下载的文件的 URL 保存到 file_urls 中;
    • 爬虫返回的 Item 进入到 Pipeline 内部;
    • Item 按照顺序传递到 FilesPipeline 时,file_urls 中的 URL 会被内置的调度器和下载器下载。在这个时候 Item 是被锁定的,直到需要下载的文件下载完成或者报错,Item 才解除锁定;
    • 下载完成后,结果将被保存在 files 中,files 是一个列表,每条数据是 dict 类型。
    1. ImagesPipeline

    ImagesPipeline 是继承自 FilesPipeline ,也就是说它的大部分步骤和 FilesPipeline 一样。 唯一不同的是 ImagesPipeline 将需要下载的图片 URL 保存到了 image_urls 中,下载完成的结果保存到 images 中。

    Tip:Pipeline 中不仅仅包含了这两个特殊的 Pipeline ,因为 FilesPipeline 和 ImagesPipeline 是比较常用的,因此我在这里进行了讲解。更多的内置 Pipeline 大家可以去 Scrapy 官网查看具体的文档。

    我们在编写完 Pipeline 后需要在 settings.py 文件中进行注册,将我们编写的 Pipeline 注入到 Scrapy 中。

    ITEM_PIPELINS= {
      '自定义Pipeline 路径':'优先级'
    }
    

    二、总结

    本篇文章主要讲解了 Pipeline 的理论知识,虽然很短,但是这些知识是 Pipeline 的核心知识。下一节我将通过代码的形式来展现 Pipeline 的使用。

    展开全文
  • Jenkins Pipeline

    2020-04-27 11:55:40
    1、Pipeline介绍 Pipeline 是Jenkins 2.0的精髓,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。 Pipeline的实现方式是...

    1、Pipeline介绍

    Pipeline 是Jenkins 2.0的精髓,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。

    Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本,并且Jenkins支持从代码库直接读取脚本,从而实现了Pipeline as Code的理念。

    Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。

    注意,Stage是一个逻辑分组的概念,可以跨多个Node。

    Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境。

    2、pipeline简单示例

    在这里插入图片描述
    配置页面前半部分和freestyle项目一样,只是后半部分少了源码管理、构建和构建后操作这部分内容,这是因为pipeline所有的这些操作都是要通过编写Groovy脚本来实现,大家不要怕,写一些我们常用的操作也不难,下面我们通过具体的例子带大家来学习。我们首先创建一个最简单的例子。

    在这里插入图片描述
    在这里插入图片描述

    node {
       echo 'Hello World'
    }
    

    此段代码的作用就是输出Hello World。

    保存后执行,查看结果输出了Hello World。
    在这里插入图片描述
    在这里插入图片描述

    3、Pipeline多stage示例

    1. 多stage Pipeline Job

    我们使用如下的pipeline script:

    node {
        stage("Pull Code"){
            echo "pull code from git "
        }
        stage("Code Build"){
            echo "Buile code"
        }
        stage('Unit Test'){
            echo "Unit Test"
        }
    }
    

    stage表示阶段,每个阶段里可以执行具体的操作。我们暂时先简单的输出一些文字,后面再介绍其他常用操作。

    保存后Job后,执行构建:
    在这里插入图片描述
    我们可以看每一个阶段的执行时间,点击可以查看每一个阶段执行的日志:

    在这里插入图片描述
    2. Pipeline Scipt 执行命令、脚本

    我们可以使用如下方式执行命令或者脚本

    node {
        stage("Pull Code"){
            echo "pull code from git"
            sh "ls /etc"
        }
        stage("Code Build"){
            echo "Buile code"
            sh "/server/scripts/demo.sh"
        }
        stage('Unit Test'){
            echo "Unit Test"
        }
    }
    

    得到如下结果:
    在这里插入图片描述
    3. 使用生成器生成pipeline脚本

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    现在我们使用Pipeline Script实现frontend-job,脚本如下:

    node {
        stage("获取代码"){
            echo "获取代码"
            git branch: 'dev', url: 'git@192.168.56.12:web-site/frontend.git'
        }
        stage("打包"){
            echo "打包"
            sh "tar czf frontend-${BUILD_NUMBER}.tar.gz ./*.html"
        }
        stage('发布到node1'){
            echo "发布到node1"
            sh "scp frontend-${BUILD_NUMBER}.tar.gz 192.168.56.11:/data/web"
        }
    }
    

    构建执行后:
    在这里插入图片描述
    在这里插入图片描述
    4. 使用Pipeline Script调用己有的Job

    我们的目录的是想一次性按顺序自动执行多个Job,我们还是使用生成器:

    node {
        stage("获取代码"){
            echo "获取代码"
            git branch: 'dev', url: 'git@192.168.56.12:web-site/frontend.git'
        }
        stage("打包"){
            echo "打包"
            sh "tar czf frontend-${BUILD_NUMBER}.tar.gz ./*.html"
        }
        stage('发布到node1'){
            echo "发布到node1"
            sh "scp frontend-${BUILD_NUMBER}.tar.gz 192.168.56.11:/data/web"
        }
        stage("调用frontend Job"){
            build 'frontend-job'
        }
    }
    

    执行结果如下:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 分布式缓存Redis之Pipeline(管道)

    万次阅读 多人点赞 2017-12-11 09:21:56
    写在前面  本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning  Redis的pipeline(管道)功能在命令行中没有,但redis是支持pipeline的,而且在各个语言版的client中都有相应的实现。...
  • 玩转Jenkins Pipeline

    万次阅读 多人点赞 2018-07-17 15:28:47
    Jenkins Pipeline的总体介绍 1.Jenkins Pipeline 的核心概念 Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与...
  • pipeline入门

    2021-01-05 17:46:58
    1.什么是pipeline? 在jenkins官方文档是这样介绍pipeline的:Jenkins Pipeline (or simply “Pipeline”) is a suite of plugins which supports implementing and integrating continuous delivery ...
  • <div><p>This pull request changes the way pipeline resources are created. We use <code>ResourceSpec</code> instead of <code>ResourceRef</code> so that pipeline resources are passed inline with ...
  • Redis pipeline

    2019-02-26 19:27:05
    Redis pipeline
  • pipeline原理

    2020-10-08 11:42:03
    文章目录1.pipeline原理1.1 redis发送数据原理1.2 未使用pipeline执行N条命令1.3 使用了pipeline执行N条命令2.pipeline性能代码展示 1.pipeline原理 redis基本语法:https://www.cnblogs.com/xiaonq/p/7919111.html...
  • Spark Pipeline

    2019-12-18 14:04:21
    Spark Pipeline一、Spark Pipeline1.1 机器学习管道(Pipeline)1.2 数据管道组件构成1.3 构建Pipeline1.4 预测Pipeline 一、Spark Pipeline 1.1 机器学习管道(Pipeline) 由一系列阶段构成,每个阶段是Transformer...
  • Pipeline详解

    2021-01-01 22:53:10
    一、pipeline出现的背景: redis客户端执行一条命令分4个过程: 发送命令-〉命令排队-〉命令执行-〉返回结果 这个过程称为Round trip time(简称RTT, 往返时间),mget mset有效节约了RTT,但大部分命令(如...
  • kubernetes pipeline

    2020-06-15 13:50:00
    一: Kubernetes安装pipeline插件 Jenkins 在kubernetes 平台完成pinpeline ,必须先安装Pipeline等插件! 选择manager Plugins 安装pinline插件 ...
  • sklearn pipeline

    千次阅读 2018-09-25 17:15:36
    众所周知,有很多数据转换步骤需要按照正确的步骤执行,sklearn提供了Pipeline类来处理这种顺序的操作步骤 from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler num_pipeline ...
  • MongoDB Pipeline

    千次阅读 2020-03-25 12:58:00
    pipeline 对mongodb的collection进行运算,筛选,截取,排序操作。 一、pipeline 格式 pipeline = [ {$project:?}, {$match:?}, {$group:?}, {$sort :?}, {$limit:?}, {$skip :?}, {$unwind:?}, {$redact:?}...
  • <div><h2>As a Pipeline Runner I want to be able to send a pipeline request for pipeline, which exists in the repository of the pipeline descriptors. <h3>User Story implementation details: <ol><li>...
  • 关于pipeline

    2018-11-02 10:53:00
    最近要将系统改造成pipeline架构,所以研究了一下pipeline相关的理论,servlet filter, struts2 interceptor, spring mvc interceptor, webx pipeline和netty pipeline的一些源码。一些总结: 结构: Pipeline的类...
  • Jenkins Pipeline的总体介绍Jenkins Pipeline 的核心概念:Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视...
  • this is the first installment of a tutorial series covering unity’s scriptable render pipeline. this tutorial assu...

空空如也

1 2 3 4 5 ... 20
收藏数 51,454
精华内容 20,581
关键字:

pipeline