bamboo-engine 是一个通用的流程引擎,他可以解析,执行,调度由用户创建的流程任务,并提供了如暂停,撤销,跳过,强制失败,重试和重入等等灵活的控制能力和并行、子流程等进阶特性,并可通过水平扩展来进一步提升任务的并发处理能力。

Overview

license PRs Welcome Python 3.6 Python 3.7 codecov BK Pipelines Status

bamboo-engine 是一个通用的流程引擎,他可以解析,执行,调度由用户创建的流程任务,并提供了如暂停,撤销,跳过,强制失败,重试和重入等等灵活的控制能力和并行、子流程等进阶特性,并可通过水平扩展来进一步提升任务的并发处理能力。

整体设计

bamboo-engine 是流程引擎核心模块、调度逻辑的定义和实现,并没有内置特定的引擎运行时,需要搭配实现了 bamboo_engine.eri.interfaces.EngineRuntimeInterface 接口的引擎运行时使用,目前提供了以下运行时可供使用:

引擎整体架构:

Quick start

1. 安装依赖

$ pip install bamboo-pipeline

2. 项目初始化

由于 bamboo-pipeline 运行时基于 Django 实现,所以需要新建一个 Django 项目:

$ django-admin startproject bamboo_engine_playground
$ cd bamboo_engine_playground

bamboo_engine_playground.settings.py 下添加如下配置:

from pipeline.eri.celery.queues import *
from celery import Celery

app = Celery("proj")

app.config_from_object("django.conf:settings")

INSTALLED_APPS = [
    ...
    "pipeline",
    "pipeline.engine",
    "pipeline.component_framework",
    "pipeline.eri",
    ...
]

bamboo_engine_playground 目录下初始化数据库:

$ python manage.py migrate

3. 执行流程

首先在 bamboo_engine_playground 目录下启动 celery worker:

$ python manage.py celery worker -Q er_execute,er_schedule -l info

创建并执行一个简单的流程:

import time

from bamboo_engine import api
from bamboo_engine.builder import *
from pipeline.eri.runtime import BambooDjangoRuntime

# 使用 builder 构造出流程描述结构
start = EmptyStartEvent()
# 这里先使用 bamboo-pipeline 自带的示例组件,我们会在后续的章节中学习如何自定义组件
act = ServiceActivity(component_code="example_component")
end = EmptyEndEvent()

start.extend(act).extend(end)

pipeline = builder.build_tree(start)

# 执行流程对象
runtime = BambooDjangoRuntime()

api.run_pipeline(runtime=runtime, pipeline=pipeline)

# 等待 1s 后获取流程执行结果
time.sleep(1)

result = api.get_pipeline_states(runtime=runtime, root_id=pipeline["id"])

print(result.data)

随后我们就能够看到流程的状态信息,如下所示,流程中的所有节点已经执行成功:

{'pc31c89e6b85a4e2c8c5db477978c1a57': {'id': 'pc31c89e6b85a4e2c8c5db477978c1a57',
  'state': 'FINISHED',
  'root_id:': 'pc31c89e6b85a4e2c8c5db477978c1a57',
  'parent_id': 'pc31c89e6b85a4e2c8c5db477978c1a57',
  'version': 'vaf47e56f2f31401e979c3c47b2a0c285',
  'loop': 1,
  'retry': 0,
  'skip': False,
  'created_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 688664, tzinfo=<UTC>),
  'started_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 688423, tzinfo=<UTC>),
  'archived_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 775165, tzinfo=<UTC>),
  'children': {'e42035b3f98374062921a191115fc602e': {'id': 'e42035b3f98374062921a191115fc602e',
    'state': 'FINISHED',
    'root_id:': 'pc31c89e6b85a4e2c8c5db477978c1a57',
    'parent_id': 'pc31c89e6b85a4e2c8c5db477978c1a57',
    'version': 've2d0fa10d7d842a1bcac25984620232a',
    'loop': 1,
    'retry': 0,
    'skip': False,
    'created_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 744490, tzinfo=<UTC>),
    'started_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 744308, tzinfo=<UTC>),
    'archived_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 746690, tzinfo=<UTC>)},
   'e327f83de42df4ebfab375c271bf63d29': {'id': 'e327f83de42df4ebfab375c271bf63d29',
    'state': 'FINISHED',
    'root_id:': 'pc31c89e6b85a4e2c8c5db477978c1a57',
    'parent_id': 'pc31c89e6b85a4e2c8c5db477978c1a57',
    'version': 'v893cdc14150d4df5b20f2db32ba142b3',
    'loop': 1,
    'retry': 0,
    'skip': False,
    'created_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 753321, tzinfo=<UTC>),
    'started_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 753122, tzinfo=<UTC>),
    'archived_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 758697, tzinfo=<UTC>)},
   'e6c7d7a3721ca4b19a5a7f3b34d8387bf': {'id': 'e6c7d7a3721ca4b19a5a7f3b34d8387bf',
    'state': 'FINISHED',
    'root_id:': 'pc31c89e6b85a4e2c8c5db477978c1a57',
    'parent_id': 'pc31c89e6b85a4e2c8c5db477978c1a57',
    'version': 'v0c661ee6994d4eb4bdbfe5260f9a9f22',
    'loop': 1,
    'retry': 0,
    'skip': False,
    'created_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 767563, tzinfo=<UTC>),
    'started_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 767384, tzinfo=<UTC>),
    'archived_time': datetime.datetime(2021, 3, 10, 3, 45, 54, 773341, tzinfo=<UTC>)}}}}

恭喜你,你已经成功的创建了一个流程并把它运行起来了!

benchmark

测试环境:

  • MacBook Pro(16 英寸,2019)
  • 处理器:2.6 GHz 六核Intel Core i7
  • 内存:32 GB 2667 MHz DDR4
  • OS:macOS Big Sur 11.2.1
  • Broker:RabbitMQ 3.8.2
  • MySQL:5.7.22
  • worker 启动命令(单个 worker 进程 -c 参数不变,通过增加进程来提高并发处理能力)
    • python manage.py celery worker -c 100 -P gevent -l info -Q er_execute -n execute_%(process_num)02d
    • python manage.py celery worker -c 100 -P gevent -l info -Q er_schedule -n schedule_%(process_num)02d
测试场景 worker concurrency 流程执行耗时(s)
100个流程(单流程17个节点)并发执行 100 25.98
100个流程(单流程17个节点)并发执行 200 14.75
100个流程(单流程17个节点)并发执行 500 8.29
100个流程(单流程17个节点)并发执行 1000 6.78
1000节点大流程 100 19.33
1000节点大流程 200 12.5
1000节点大流程 500 11
1000节点大流程 1000 7.5

Roadmap

Support

BlueKing Community

  • BK-CI:蓝鲸持续集成平台是一个开源的持续集成和持续交付系统,可以轻松将你的研发流程呈现到你面前。
  • BK-BCS:蓝鲸容器管理平台是以容器技术为基础,为微服务业务提供编排管理的基础服务平台。
  • BK-BCS-SaaS:蓝鲸容器管理平台SaaS基于原生Kubernetes和Mesos自研的两种模式,提供给用户高度可扩展、灵活易用的容器产品服务。
  • BK-PaaS:蓝鲸PaaS平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理SaaS应用。
  • BK-SOPS:标准运维(SOPS)是通过可视化的图形界面进行任务流程编排和执行的系统,是蓝鲸体系中一款轻量级的调度编排类SaaS产品。
  • BK-CMDB:蓝鲸配置平台是一个面向资产及应用的企业级配置管理平台。

Contributing

如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为蓝鲸开源社区贡献力量。

License

基于 MIT 协议, 详细请参考LICENSE

Comments
  • 开启celery报错

    开启celery报错

    $ DJANGO_SETTINGS_MODULE=bamboo_engine_playground.settings celery worker -A bamboo_engine_playground.settings -Q er_execute,er_schedule -l info 到这一步报错,ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [WinError 10061] 由于目标计算机积极拒绝,无法连接。. Trying again in 8.00 seconds... (4/100) Traceback (most recent call last): File "d:\program files\python37\lib\site-packages\pipeline\component_framework\base.py", line 88, in new code=new_class.code, version=new_class.version, defaults={"name": new_name, "status": debug} File "d:\program files\python37\lib\site-packages\django\db\models\manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "d:\program files\python37\lib\site-packages\django\db\models\query.py", line 564, in update_or_create obj.save(using=self.db) File "d:\program files\python37\lib\site-packages\django\db\models\base.py", line 744, in save force_update=force_update, update_fields=update_fields) File "d:\program files\python37\lib\site-packages\django\db\models\base.py", line 782, in save_base force_update, using, update_fields, File "d:\program files\python37\lib\site-packages\django\db\models\base.py", line 854, in _save_table forced_update) File "d:\program files\python37\lib\site-packages\django\db\models\base.py", line 903, in _do_update return filtered._update(values) > 0 File "d:\program files\python37\lib\site-packages\django\db\models\query.py", line 760, in _update return query.get_compiler(self.db).execute_sql(CURSOR) File "d:\program files\python37\lib\site-packages\django\db\models\sql\compiler.py", line 1471, in execute_sql cursor = super().execute_sql(result_type) File "d:\program files\python37\lib\site-packages\django\db\models\sql\compiler.py", line 1142, in execute_sql cursor.execute(sql, params) File "d:\program files\python37\lib\site-packages\django\db\backends\utils.py", line 99, in execute return super().execute(sql, params) File "d:\program files\python37\lib\site-packages\django\db\backends\utils.py", line 67, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "d:\program files\python37\lib\site-packages\django\db\backends\utils.py", line 76, in _execute_with_wrappers return executor(sql, params, many, context) File "d:\program files\python37\lib\site-packages\django\db\backends\utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "d:\program files\python37\lib\site-packages\django\db\utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "d:\program files\python37\lib\site-packages\django\db\backends\utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "d:\program files\python37\lib\site-packages\django\db\backends\sqlite3\base.py", line 383, in execute return Database.Cursor.execute(self, query, params) django.db.utils.OperationalError: database is locked update pipe_example_component component model update component models ERROR:root:database is locked

    opened by miaolaoda007 2
  • Engine and BambooDjangoRuntime ProcessMixin are confusing

    Engine and BambooDjangoRuntime ProcessMixin are confusing

    BambooDjangoRuntime的集合多个mixin 正常来说, 如果我想更改其中某一个功能, 例如Process的某些行为, 例如die 的方法, 我可以

    class BambooDjangoRuntime(
        CustomProcessMixin,
    )
    

    或者

    class CustomeRuntime(BambooDjangoRuntime):
        def die(self, process_id: int):
            do something()
    

    但是经过测试这不符合预期。 因为我发现在pipeline/eri/celery/tasks.py 里面executeschedule 的方法里面:runtime = BambooDjangoRuntime() , runtime 是hardcode的, 即调用Engine(CustomeRuntime()).run_pipeline(pipeline) 时不会调用CustomeRuntime().die方法的。

    文档没有特别说明, 另外一点是在自编写的component 里面, 如果在自定义组件的实例里面也无法保存属性, 只能通过data来传递。 因为每一次自定义component的schedule的调用都是一个新对象。

    lastly, 能否将类似ProcessMixin或者一些其他类似的update 方法:e.g Process.objects.filter(id=process_id).update(suspended=True, suspended_by=by) 改为

    obj = Process.get(id=process_id)
    obj.suspended=True
    obj.suspended_by = by
    obj.save()
    

    这用用户可以利用Django post_save的signal 去做一些自定义的行为。 例如我希望Process die的时候可以回调推送数据到websocket。

    opened by Randix6644 0
  • 【单元测试】单测尚未覆盖Redis Sentinel 独立密码

    【单元测试】单测尚未覆盖Redis Sentinel 独立密码

    https://github.com/TencentBlueKing/bamboo-engine/blob/fd3ab84d43e81f04473c29d31765221a7965be8a/runtime/bamboo-pipeline/pipeline/tests/test_apps.py#L45

    一个小问题~

    opened by CohleRustW 0
  • 流程节点输出没有name域,严重影响调试

    流程节点输出没有name域,严重影响调试

    在代码中输出流程执行结果。

    result = api.get_pipeline_states(runtime=runtime, root_id=pipeline["id"])
    

    print(result.data) 在输出中缺失name条目,直接导致无法详细调试。

    , 'ed8ca0822e6c3490192bee69c4f7c1e76': {'id': 'ed8ca0822e6c3490192bee69c4f7c1e76', 'state': 'FINISHED', 'root_id:': 'pe20b2e4e17674134924382e1985ba4f5', 'parent_id': 'pe20b2e4e17674134924382e1985ba4f5', 'version': 'vb8feada2bf0643e193bbd4d0dd5bb133', 'loop': 1, 'retry': 0, 'skip': False, 'error_ignorable': False, 'error_ignored': False, 'created_time': datetime.datetime(2022, 5, 22, 5, 10, 37, 49657, tzinfo=), 'started_time': datetime.datetime(2022, 5, 22, 5, 10, 37, 49196, tzinfo=), 'archived_time': datetime.datetime(2022, 5, 22, 5, 10, 37, 113250, tzinfo=), 'children': {} } , 'e57a42788ab124478b895ace9229ce208': {'id': 'e57a42788ab124478b895ace9229ce208', 'state': 'FAILED', 'root_id:': 'pe20b2e4e17674134924382e1985ba4f5', 'parent_id': 'pe20b2e4e17674134924382e1985ba4f5', 'version': 'vc93a7f74531445fc9065a39c505be37b', 'loop': 1, 'retry': 0, 'skip': False, 'error_ignorable': False, 'error_ignored': False, 'created_time': datetime.datetime(2022, 5, 22, 5, 10, 37, 147393, tzinfo=), 'started_time': datetime.datetime(2022, 5, 22, 5, 10, 37, 147139, tzinfo=), 'archived_time': datetime.datetime(2022, 5, 22, 5, 10, 37, 166506, tzinfo=), 'children': {}

    question 
    opened by bghuang 2
  • 第一次执行会出现进程无法找到的问题,pipeline.eri.models.Process.DoesNotExist

    第一次执行会出现进程无法找到的问题,pipeline.eri.models.Process.DoesNotExist

    2022-03-22 17:03:48,144: ERROR/ForkPoolWorker-7] [p153b291216b64dbf93aab8d7bc79dfac]execute node(e9d1bf39b2ed347d6826feea3ae14aa55) prepare fail Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/bamboo_engine/engine.py", line 566, in execute process_info = self.runtime.get_process_info(process_id) File "/usr/local/lib/python3.6/site-packages/bamboo_engine/metrics.py", line 81, in _wrapper return func(*args, **kwargs) File "/usr/local/lib/python3.6/site-packages/pipeline/eri/imp/process.py", line 107, in get_process_info raise Process.DoesNotExist("Process with id({}) does not exist".format(process_id)) pipeline.eri.models.Process.DoesNotExist: Process with id(663) does not exist

    help wanted 
    opened by MRongM 1
  • pipline运维工具

    pipline运维工具

    背景:在pipeline中有时会由于基础组件(如网络、DB、mq)或pipeline组件(如程序BUG)等原因导致pipeline异常,而为了避免打扰用户,期望有相应的运营工具可以辅助排查或自愈

    期望: pipeline检测工具:可以对某一个pipeline实例进行检测,了解异常原因 pipeline修复工具:可以对异常pipeline异常辅助处理(如有影响需要有手动确认操作),将pipeline恢复到某一节点

    type/feature 
    opened by benero 0
Releases(bamboo-pipeline-v3.24.2)
  • bamboo-pipeline-v3.24.2(Dec 15, 2022)

    What's Changed

    Other Changes

    • minor: bamboo-pipeline bumps to 3.24.2 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/128

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.6.1...bamboo-pipeline-v3.24.2

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.6.1(Dec 15, 2022)

    What's Changed

    • minor: 文档demo更新 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/126
    • optimization: 网关表达式解析报错优化 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/127

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.24.1...bamboo-engine-v2.6.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.24.1(Nov 29, 2022)

    What's Changed

    Other Changes

    • 修复节点状态清除完成时间失败问题 & 节点输入支持pickle序列化 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/125

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.24.0...bamboo-pipeline-v3.24.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.24.0(Nov 23, 2022)

    What's Changed

    Other Changes

    • feature: pipeline新增get_batch_data接口实现 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/123
    • minor: version update by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/124

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.6.0...bamboo-pipeline-v3.24.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.6.0(Nov 23, 2022)

    What's Changed

    Other Changes

    • feature: eri新增批量获取节点数据接口 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/122

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.23.1...bamboo-engine-v2.6.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.23.1(Nov 14, 2022)

    What's Changed

    Other Changes

    • release bamboo-pipeline v3.23.1 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/121

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.5.3...bamboo-pipeline-v3.23.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.5.3(Nov 14, 2022)

    What's Changed

    Optimizations 🦾

    • optimization: 节点重试支持配置变量渲染豁免 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/120

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.23.0...bamboo-engine-v2.5.3

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.23.0(Sep 28, 2022)

    What's Changed

    Exciting New Features 🎉

    eri celery task add receive log by @normal-wls in #111

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.5.2...bamboo-pipeline-v3.23.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.5.2(Sep 26, 2022)

    What's Changed

    Exciting New Features 🎉

    • 新增监控指标 by @hanshuaikang in https://github.com/TencentBlueKing/bamboo-engine/pull/112

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.22.0...bamboo-engine-v2.5.2

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.22.0(Aug 9, 2022)

    What's Changed

    Exciting New Features 🎉

    • 新增pipeline_engine_admin引擎管理端 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/105

    Other Changes

    • 文档更新 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/107

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.21.1...bamboo-pipeline-v3.22.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.21.1(Jul 19, 2022)

    What's Changed

    Other Changes

    • minor: release bamboo-pipeline 3.21.1 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/104

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.5.1...bamboo-pipeline-v3.21.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.5.1(Jul 19, 2022)

    What's Changed

    Fixed Bugs 👾

    • bugfix: 修复重试节点时 loop 计数重置的问题 by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/102

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.21.0...bamboo-engine-v2.5.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.21.0(Jul 4, 2022)

    What's Changed

    Other Changes

    • bamboo-pipeline release 3.21.0 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/101

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.5.0...bamboo-pipeline-v3.21.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.5.0(Jul 1, 2022)

    What's Changed

    Exciting New Features 🎉

    • subprocess support inputs preview and inputs execution data record by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/99

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.20.0...bamboo-engine-v2.5.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.20.0(Jun 7, 2022)

    What's Changed

    Fixed Bugs 👾

    • 修复条件分支flow_id不存在condition中时报错问题 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/94

    Optimizations 🦾

    • 周期任务修改时增加是否检查enable状态开关 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/95

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.19.0...bamboo-pipeline-v3.20.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.19.0(May 31, 2022)

    What's Changed

    Exciting New Features 🎉

    • bamboo-engine upgrade to 2.4.0 by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/93

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.4.0...bamboo-pipeline-v3.19.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.4.0(May 31, 2022)

    What's Changed

    Exciting New Features 🎉

    • add pre post process duration and task claim delay metrics by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/89

    Optimizations 🦾

    • add task header to task message(ERI version 7.0.0) by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/91

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.18.0...bamboo-engine-v2.4.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.18.0(May 19, 2022)

    What's Changed

    Exciting New Features 🎉

    • upgrade bamboo-engine to 2.3.0 by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/88

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.3.0...bamboo-pipeline-v3.18.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.3.0(May 19, 2022)

    What's Changed

    Exciting New Features 🎉

    • add pre_service_execute, pre_service_schedule signal by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/83
    • update context value api by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/86
    • exclusive gateway & conditional parallel gateway support default branch by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/84

    Optimizations 🦾

    • optimization: make some eri model field blankable by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/82

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.17.1...bamboo-engine-v2.3.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.14.2(Apr 19, 2022)

    What's Changed

    Exciting New Features 🎉

    • S3导入模块支持virtual-path模式 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/81

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.14.1...bamboo-pipeline-v3.14.2

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.17.1(Apr 14, 2022)

    What's Changed

    Exciting New Features 🎉

    • bamboo-engine dep bump to 2.2.1 by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/80

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.2.1...bamboo-pipeline-v3.17.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.2.1(Apr 14, 2022)

    What's Changed

    Exciting New Features 🎉

    • feature: S3 importer支持virtual_path模式 by @normal-wls in https://github.com/TencentBlueKing/bamboo-engine/pull/79

    Optimizations 🦾

    • minor: eri task module add task id relate log by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/78

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.17.0...bamboo-engine-v2.2.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.17.0(Mar 29, 2022)

    What's Changed

    Exciting New Features 🎉

    • bamboo-engine upgrade 2.2.0 by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/77

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.2.0...bamboo-pipeline-v3.17.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.2.0(Mar 29, 2022)

    What's Changed

    Exciting New Features 🎉

    • 节点状态改变时,可配置是否发送post_set_state信号 by @wheel-w in https://github.com/TencentBlueKing/bamboo-engine/pull/75

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.16.1...bamboo-engine-v2.2.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.16.1(Mar 23, 2022)

    What's Changed

    Optimizations 🦾

    • remove django-celery-results deps by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/73

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.16.0...bamboo-pipeline-v3.16.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.16.0(Mar 22, 2022)

    What's Changed

    Exciting New Features 🎉

    • bamboo-pipeline upgrade bamboo-engine to 2.1.0 by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/69

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-engine-v2.1.0...bamboo-pipeline-v3.16.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.1.0(Mar 22, 2022)

    What's Changed

    Exciting New Features 🎉

    • interrupt event handle support by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/63

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.15.1...bamboo-engine-v2.1.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.15.1(Mar 10, 2022)

    What's Changed

    Optimizations 🦾

    • optimization: make installed apps list lighter by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/65

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.15.0...bamboo-pipeline-v3.15.1

    Source code(tar.gz)
    Source code(zip)
  • bamboo-pipeline-v3.15.0(Mar 7, 2022)

    What's Changed

    Exciting New Features 🎉

    • engine interrupter by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/52

    Fixed Bugs 👾

    • Gateway match share check fix by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/57

    Other Changes

    • document typo by @OrenZhang in https://github.com/TencentBlueKing/bamboo-engine/pull/56
    • 定期清理v2版本引擎日志 by @wheel-w in https://github.com/TencentBlueKing/bamboo-engine/pull/58

    New Contributors

    • @OrenZhang made their first contribution in https://github.com/TencentBlueKing/bamboo-engine/pull/56

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.14.1...bamboo-engine-v2.0.0

    Source code(tar.gz)
    Source code(zip)
  • bamboo-engine-v2.0.0(Mar 7, 2022)

    What's Changed

    Exciting New Features 🎉

    • engine interrupter by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/52

    Fixed Bugs 👾

    • Gateway match share check fix by @homholueng in https://github.com/TencentBlueKing/bamboo-engine/pull/57

    Other Changes

    • document typo by @OrenZhang in https://github.com/TencentBlueKing/bamboo-engine/pull/56
    • 定期清理v2版本引擎日志 by @wheel-w in https://github.com/TencentBlueKing/bamboo-engine/pull/58

    New Contributors

    • @OrenZhang made their first contribution in https://github.com/TencentBlueKing/bamboo-engine/pull/56

    Full Changelog: https://github.com/TencentBlueKing/bamboo-engine/compare/bamboo-pipeline-v3.14.1...bamboo-engine-v2.0.0

    Source code(tar.gz)
    Source code(zip)
Owner
腾讯蓝鲸
腾讯蓝鲸
An improved version of the common ˙pacman -S˙

BetterPacmanLook An improved version of the common pacman -S. Installation I know that this is probably one of the worst solutions and i will be worki

1 Nov 06, 2021
A collection of examples of using cocotb for functional verification of VHDL designs with GHDL.

At the moment, this repo is in an early state and serves as a learning tool for me. So it contains a a lot of quirks and code which can be done much better by cocotb-professionals.

T. Meissner 7 Mar 10, 2022
The code behind sqlfmt.com, a web UI for sqlfmt

The code behind sqlfmt.com, a web UI for sqlfmt

Ted Conbeer 2 Dec 14, 2022
A basic python project which replicates the functionalities on an 8 Ball.

Magic-8-Ball To the people who wish to make decisions using a Magic 8 Ball but can't get one? I gotchu. This is a basic python project which replicate

3 Jun 24, 2021
Placeholders is a single-unit storage solution for your Frontend.

Placeholder Placeholders is a single-unit file storage solution for your Frontend. Why Placeholder? Generally, when a website/service requests for fil

Tanmoy Sen Gupta 1 Nov 09, 2021
Repls goes to sleep due to inactivity, but to keep it awake, simply host a webserver and ping it.

Repls goes to sleep due to inactivity, but to keep it awake, simply host a webserver and ping it. This repo will help you make a webserver with a bit of console controls.

2 Mar 01, 2022
Nicotine+: A graphical client for the SoulSeek peer-to-peer system

Nicotine+ Nicotine+ is a graphical client for the Soulseek peer-to-peer file sharing network. Nicotine+ aims to be a pleasant, Free and Open Source (F

940 Jan 03, 2023
Python module used to generate random facts

Randfacts is a python library that generates random facts. You can use randfacts.get_fact() to return a random fun fact. Disclaimer: Facts are not gua

Tabulate 14 Dec 14, 2022
The newest contender in Server Gateway Interface.

nsgi The newest contender in Server Gateway Interface. Why use this webserver? This webserver is made with the newest version of asyncio, and sockets,

OpenRobot 1 Feb 12, 2022
Python library for Minitel communication through serial port

Python library for Minitel communication through serial port

Noël 3 Aug 14, 2022
A Unified Framework for Hydrology

Unified Framework for Hydrology The Python package unifhy (Unified Framework for Hydrology) is a hydrological modelling framework which combines inter

Unified Framefork for Hydrology - Community Organisation 6 Jan 01, 2023
Pulse sequence builder and compiler for q1asm

q1pulse Pulse sequence builder and compiler for q1asm. q1pulse is a simple library to compile pulse sequence to q1asm, the assembly language of Qblox

Sander de Snoo 3 Dec 14, 2022
Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero. Print the decimal value of each fraction on a new line with places after the decimal.

Shruti Dhave 2 Nov 29, 2021
Mines all the moneys and stuff and things.

NFT Miner NFT Miner - Version 1.1.0 - Quick Fix Since the whole NFT thing started booming on Twitter it's been hard not to see one of those ugly ass m

8w8 1 Dec 13, 2021
On this repo, you'll find every codes I made during my NSI classes (informatical courses)

👨‍💻 👩‍💻 school-codes On this repo, you'll find every codes I made during my NSI classes (informatical courses) French for now since this repo is d

EDM 1.15 3 Dec 17, 2022
Analyzes crypto candles over a set time period and then trades based on winning patterns found

patternstrade Analyzes crypto candles over a set time period and then trades based on winning patterns found. Heavily customizable. Warning: This was

ConnorCreate 14 May 29, 2022
Petuhlang is a joke-like language, based on Python.

Petuhlang is a joke-like language, based on Python. It updates builtins to make a new syntax based on operators rewrite.

DenyS 9 Jun 19, 2022
Creates a release pull request updating changelog and tags with standard-version

standard version release branch Github action to open releases following convent

8 Sep 13, 2022
Nook is a simple, concatenative programming language written in Python.

Nook Nook is a simple, concatenative programming language written in Python. Status Nook is currently WIP. It lacks a lot of basic feature, and will n

Wumi4 4 Jul 20, 2022
dotfiles - Cristian Valero Abundio

In this repository you can find various configurations to configure your Linux operating system, preferably ArchLinux and its derivatives.

Cristian Valero Abundio 1 Jan 09, 2022