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
腾讯蓝鲸
腾讯蓝鲸
Syarat.ID Source Code - Syarat.ID is a content aggregator website

Syarat.ID is a content aggregator website that gathering all informations with the specific keyword: "syarat" from the internet.

Syarat.ID 2 Oct 15, 2021
A random cat fact python module

A random cat fact python module

Fayas Noushad 4 Nov 28, 2021
Beancount Importers for DKB (Deutsche Kredit Bank) CSV Exports

Beancount DKB Importer beancount-dkb provides an Importer for converting CSV exports of DKB (Deutsche Kreditbank) account summaries to the Beancount f

Siddhant Goel 24 Aug 06, 2022
A small Blender addon for changing an object's local orientation while in edit mode

A small Blender addon for changing an object's local orientation while in edit mode.

Jonathan Lampel 50 Jan 06, 2023
Necst-lib - Pure Python tools for NECST

necst-lib Pure Python tools for NECST. Features This library provides: something

NANTEN2 Group 5 Dec 15, 2022
This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help..

VS Code Virtual Assistant This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help. Its currentl

Soham Ghugare 6 Aug 22, 2021
Framework for creating efficient data processing pipelines

Aqueduct Framework for creating efficient data processing pipelines. Contact Feel free to ask questions in telegram t.me/avito-ml Key Features Increas

avito.tech 137 Dec 29, 2022
Project of the MSEC_LDD . group

HackathonJuntionXHN Project of team MSEC_LQĐ What did we do? Building application to generate whitelist regex for Web application firewall How to setu

Nguyễn Mạnh Cường 0 Dec 19, 2021
Start and stop your NiceHash miners using this script.

NiceHash Mining Scheduler Use this script to schedule your NiceHash Miner(s). Electricity costs between 4-9pm are high in my area and I want NiceHash

SeaRoth 2 Sep 30, 2022
Paprika is a python library that reduces boilerplate. Heavily inspired by Project Lombok.

Image courtesy of Anna Quaglia (Photographer) Paprika Paprika is a python library that reduces boilerplate. It is heavily inspired by Project Lombok.

Rayan Hatout 55 Dec 26, 2022
jmespath.rs Python binding

rjmespath-py jmespath.rs Python binding.

messense 3 Dec 14, 2022
Emulate and Dissect MSF and *other* attacks

Need help in analyzing Windows shellcode or attack coming from Metasploit Framework or Cobalt Strike (or may be also other malicious or obfuscated code)? Do you need to automate tasks with simple scr

123 Dec 16, 2022
This library is an abstraction for Splunk-related development, maintenance, or migration operations

This library is an abstraction for Splunk-related development, maintenance, or migration operations. It provides a single CLI or SDK to conveniently perform various operations such as managing a loca

NEXTPART 6 Dec 21, 2022
Modern robots.txt Parser for Python

Robots Exclusion Protocol Parser for Python Robots.txt parsing in Python. Goals Fetching -- helper utilities for fetching and parsing robots.txts, inc

Moz 176 Dec 16, 2022
Wordle Solver

Wordle Solver Installation Install the following onto your computer: Python 3.10.x Download Page Run pip install -r requirements.txt Instructions To r

John Bucknam 1 Feb 15, 2022
Explore related sequences in the OEIS

OEIS explorer This is a tool for exploring two different kinds of relationships between sequences in the OEIS: mentions (links) of other sequences on

Alex Hall 6 Mar 15, 2022
A multi-platform fuzzer for poking at userland binaries and servers

litefuzz A multi-platform fuzzer for poking at userland binaries and servers litefuzz intro why how it works what it does what it doesn't do support p

52 Nov 18, 2022
Coinloggr - A learning resource and social platform for the coin collecting community

Coinloggr A learning resource and social platform for the coin collecting commun

John Galiszewski 1 Jan 10, 2022
Project aims to map out common user behavior on the computer

User-Behavior-Mapping-Tool Project aims to map out common user behavior on the computer. Most of the code is based on the research by kacos2000 found

trustedsec 136 Dec 23, 2022
A compiler for ARM, X86, MSP430, xtensa and more implemented in pure Python

Introduction The PPCI (Pure Python Compiler Infrastructure) project is a compiler written entirely in the Python programming language. It contains fro

Windel Bouwman 277 Dec 26, 2022