热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gitlabRunner并发如何工作?

如何解决《gitlabRunner并发如何工作?》经验,为你挑选了1个好方法。

Gitlab的跑步者文档将其描述为:

(...)孤立的(虚拟)机器,这些机器通过GitLab CI的协调器API来接管工作

因此,每个跑步者都是一个孤立的过程,负责拾取作业执行请求并根据预定义的配置进行处理。作为一个独立的流程,每个运行者都具有创建“子流程”(也称为机器)以运行作业的能力。

当您在定义config.toml一个[[runner]]部分,你配置一个亚军和设置应该如何处理作业执行请求。在您的问题中,您提到了其中两个“如何处理作业执行请求”设置:

    limit:“限制可以同时处理多少个作业”。换句话说,跑步者可以创建多少个“子流程”以同时执行作业;

    request_concurrency:“来自GitLab的并发请求限制新作业的数量”。换句话说,跑步者可以同时从GitLab CI作业队列中获取多少作业执行请求。

另外,有些设置全局适用于计算机。在您的问题中,您提到其中之一:

    concurrent:“限制全局可以同时运行的作业数。这是使用所有已定义的运行器的作业数的最大上限。” 换句话说,它限制了可以同时运行作业的“子流程”的最大数量。

因此,请记住跑步者的子流程之间的差异,以及特定跑步者设置和全局机器设置之间的差异:

Q1:

区别在于,在第一个示例中,您有一个跑步者,而在第二个示例中,您有三个跑步者。值得一提的是,在这两个示例中,您的计算机仅允许同时运行3个作业。

Q2:

不仅单个跑步者可以安全地并发运行多个作业,而且还可以控制您希望它处理的作业数量(使用上述limit设置)。

同样,在同一台机器上运行类似的运行程序也没有问题。如何定义跑步者的配置取决于您和您的基础架构功能。

此外,请注意,一个executor只定义了如何经营你的工作。它不是唯一定义跑步者的东西,也不是“工人”的代名词。工作的人是您的跑步者及其子流程。

第三季度:

总结:您可以在同一台机器上定义一个或多个工作程序。每个过程都是一个孤立的过程。跑步者limit是怎样一个亚军过程的许多子过程可以创建并行运行的作业。跑步者request_concurrency可以从Gitlab CI作业队列中处理跑步者的请求数量。最后,将值设置为concurrent将会限制在计算机中运行的一个或多个运行程序中,您的计算机可以同时执行多少个作业。

参考文献

为了更好地理解,我真的建议您阅读有关自动缩放算法和参数的文章。

最后,我认为您可能会发现有关在同一服务器上并行运行运行程序的问题很有用。



1> 小智..:

Gitlab的跑步者文档将其描述为:

(...)孤立的(虚拟)机器,这些机器通过GitLab CI的协调器API来接管工作

因此,每个跑步者都是一个孤立的过程,负责拾取作业执行请求并根据预定义的配置进行处理。作为一个独立的流程,每个运行者都具有创建“子流程”(也称为机器)以运行作业的能力。

当您在定义config.toml一个[[runner]]部分,你配置一个亚军和设置应该如何处理作业执行请求。在您的问题中,您提到了其中两个“如何处理作业执行请求”设置:

    limit:“限制可以同时处理多少个作业”。换句话说,跑步者可以创建多少个“子流程”以同时执行作业;

    request_concurrency:“来自GitLab的并发请求限制新作业的数量”。换句话说,跑步者可以同时从GitLab CI作业队列中获取多少作业执行请求。

另外,有些设置全局适用于计算机。在您的问题中,您提到其中之一:

    concurrent:“限制全局可以同时运行的作业数。这是使用所有已定义的运行器的作业数的最大上限。” 换句话说,它限制了可以同时运行作业的“子流程”的最大数量。

因此,请记住跑步者的子流程之间的差异,以及特定跑步者设置和全局机器设置之间的差异:

Q1:

区别在于,在第一个示例中,您有一个跑步者,而在第二个示例中,您有三个跑步者。值得一提的是,在这两个示例中,您的计算机仅允许同时运行3个作业。

Q2:

不仅单个跑步者可以安全地并发运行多个作业,而且还可以控制您希望它处理的作业数量(使用上述limit设置)。

同样,在同一台机器上运行类似的运行程序也没有问题。如何定义跑步者的配置取决于您和您的基础架构功能。

此外,请注意,一个executor只定义了如何经营你的工作。它不是唯一定义跑步者的东西,也不是“工人”的代名词。工作的人是您的跑步者及其子流程。

第三季度:

总结:您可以在同一台机器上定义一个或多个工作程序。每个过程都是一个孤立的过程。跑步者limit是怎样一个亚军过程的许多子过程可以创建并行运行的作业。跑步者request_concurrency可以从Gitlab CI作业队列中处理跑步者的请求数量。最后,将值设置为concurrent将会限制在计算机中运行的一个或多个运行程序中,您的计算机可以同时执行多少个作业。

参考文献

为了更好地理解,我真的建议您阅读有关自动缩放算法和参数的文章。

最后,我认为您可能会发现有关在同一服务器上并行运行运行程序的问题很有用。


推荐阅读
  • 优化后的标题:PHP分布式高并发秒杀系统设计与实现
    PHPSeckill是一个基于PHP、Lua和Redis构建的高效分布式秒杀系统。该项目利用php_apcu扩展优化性能,实现了高并发环境下的秒杀功能。系统设计充分考虑了分布式架构的可扩展性和稳定性,适用于大规模用户同时访问的场景。项目代码已开源,可在Gitee平台上获取。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 本文深入探讨了在Android应用开发中常见的相机连接故障问题,特别是在RK3288平台和Android 6.0系统上。通过分析具体案例,本文提供了详细的解决方案和应对策略,旨在帮助开发者有效解决相机连接问题,提升应用的稳定性和用户体验。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • Gitlab - 搭建属于自己的gitlab
    一:前言前两天在弄钉钉接口的机器人,发现了有github机器人,而且配置超级简单,只需要定义一个入口,当你提交后,后台会自动发送request、payload,调用git机器人发送钉钉 ... [详细]
  • 这篇文章我们将会介绍一下如果使用gitlab和jenkins进行结合,通过api动态设定gitlab的webhook,实现每次向gitlab进行push操作的时候,jenkins的job会自动被 ... [详细]
  • 结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法
    结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ... [详细]
  • 在处理高并发场景时,确保业务逻辑的正确性是关键。本文深入探讨了Java原生锁机制的多种细粒度实现方法,旨在通过使用数据的时间戳、ID等关键字段进行锁定,以最小化对系统性能的影响。文章详细分析了不同锁策略的优缺点,并提供了实际应用中的最佳实践,帮助开发者在高并发环境下高效地实现锁机制。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 【前端开发】深入探讨 RequireJS 与性能优化策略
    随着前端技术的迅速发展,RequireJS虽然不再像以往那样吸引关注,但其在模块化加载方面的优势仍然值得深入探讨。本文将详细介绍RequireJS的基本概念及其作为模块加载工具的核心功能,并重点分析其性能优化策略,帮助开发者更好地理解和应用这一工具,提升前端项目的加载速度和整体性能。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • Java队列机制深度解析与应用指南
    Java队列机制在并发编程中扮演着重要角色。本文深入解析了Java队列的各种实现类及其应用场景,包括`LinkedList`、`ArrayBlockingQueue`和`PriorityQueue`等,并探讨了它们在高并发环境下的性能表现和适用场景。通过详细分析这些队列的内部机制和使用技巧,帮助开发者更好地理解和应用Java队列,提升系统的设计和架构能力。 ... [详细]
  • 开源项目 OpenSD 正式发布!这款自动化部署 OpenStack 的利器不容错过
    开源项目 OpenSD 正式发布!这款自动化部署 OpenStack 的利器不容错过 ... [详细]
  • 如何使用 org.geomajas.configuration.FontStyleInfo.getColor() 方法及其代码示例详解 ... [详细]
  • IIS 7及7.5版本中应用程序池的最佳配置策略与实践
    在IIS 7及7.5版本中,优化应用程序池的配置是提升Web站点性能的关键步骤。具体操作包括:首先定位到目标Web站点的应用程序池,然后通过“应用程序池”菜单找到对应的池,右键选择“高级设置”。在一般优化方案中,建议调整以下几个关键参数:1. **基本设置**: - **队列长度**:默认值为1000,可根据实际需求调整队列长度,以提高处理请求的能力。此外,还可以进一步优化其他参数,如处理器使用限制、回收策略等,以确保应用程序池的高效运行。这些优化措施有助于提升系统的稳定性和响应速度。 ... [详细]
author-avatar
fseiei
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有