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
腾讯蓝鲸
腾讯蓝鲸
frida-based ceserver. iOS analysis is possible with Cheat Engine.

frida-ceserver frida-based ceserver. iOS analysis is possible with Cheat Engine. Original by Dark Byte. Usage Install frida on iOS. python main.py Cyd

KenjiroIchise 89 Jan 8, 2023
LinkML based SPARQL template library and execution engine

sparqlfun LinkML based SPARQL template library and execution engine modularized core library of SPARQL templates generic templates using common vocabs

Linked data Modeling Language 6 Oct 10, 2022
Cylc: a workflow engine for cycling systems

Cylc: a workflow engine for cycling systems. Repository master branch: core meta-scheduler component of cylc-8 (in development); Repository 7.8.x branch: full cylc-7 system.

The Cylc Workflow Engine 205 Dec 20, 2022
A parallel branch-and-bound engine for Python.

pybnb A parallel branch-and-bound engine for Python. This software is copyright (c) by Gabriel A. Hackebeil (gabe.hacke

Gabriel Hackebeil 52 Nov 12, 2022
XlvnsScriptTool - Tool for decompilation and compilation of scripts .SDT from the visual novel's engine xlvns

XlvnsScriptTool English Dual languaged (rus+eng) tool for decompiling and compiling (actually, this tool is more than just (dis)assenbler, but less th

Tester 3 Sep 15, 2022
py2dis - A disassembly engine & library for Python

py2dis - A disassembly engine & library for Python. py2dis is a disassembly library for Python that does not use any modules/libraries other than colo

null 3 Feb 4, 2022
Liquid Rocket Engine Cooling Simulation

Liquid Rocket Engine Cooling Simulation NASA CEA The implemented class calls NASA CEA via RocketCEA. INSTALL GUIDE In progress install instructions fo

John Salib 1 Jan 30, 2022
A code-completion engine for Vim

YouCompleteMe: a code-completion engine for Vim NOTE: Minimum Requirements Have Changed Our policy is to support the Vim version that's in the latest

null 24.5k Dec 30, 2022
tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine, do not hesitate to take a look of the Tartiflette project.

tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine. You can take a look at the Tartiflette API documentation. U

tartiflette 60 Nov 8, 2022
ASGI support for the Tartiflette GraphQL engine

tartiflette-asgi is a wrapper that provides ASGI support for the Tartiflette Python GraphQL engine. It is ideal for serving a GraphQL API over HTTP, o

tartiflette 99 Dec 27, 2022
Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App Engine support. Originally written by Joe Gregorio, now supported by community.

Introduction httplib2 is a comprehensive HTTP client library, httplib2.py supports many features left out of other HTTP libraries. HTTP and HTTPS HTTP

null 457 Dec 10, 2022
A powerful workflow engine implemented in pure Python

Spiff Workflow Summary Spiff Workflow is a workflow engine implemented in pure Python. It is based on the excellent work of the Workflow Patterns init

Samuel 1.3k Jan 8, 2023
Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in the world of scientific Python packages (numpy, scipy, matplotlib).

Crab - A Recommendation Engine library for Python Crab is a flexible, fast recommender engine for Python that integrates classic information filtering r

python-recsys 1.2k Dec 21, 2022
A Python library for the Docker Engine API

Docker SDK for Python A Python library for the Docker Engine API. It lets you do anything the docker command does, but from within Python apps – run c

Docker 6.1k Jan 3, 2023
Tesseract Open Source OCR Engine (main repository)

Tesseract OCR About This package contains an OCR engine - libtesseract and a command line program - tesseract. Tesseract 4 adds a new neural net (LSTM

null 48.3k Jan 5, 2023
Jinja is a fast, expressive, extensible templating engine.

Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax.

The Pallets Projects 9k Jan 4, 2023
🛠️ Learn a technology X by doing a project - Search engine of project-based learning

Learn X by doing Y ??️ Learn a technology X by doing a project Y Website You can contribute by adding projects to the CSV file.

William 408 Dec 20, 2022
Python binding to Modest engine (fast HTML5 parser with CSS selectors).

A fast HTML5 parser with CSS selectors using Modest engine. Installation From PyPI using pip: pip install selectolax Development version from github:

Artem Golubin 710 Jan 4, 2023
GraphQL is a query language and execution engine tied to any backend service.

GraphQL The GraphQL specification is edited in the markdown files found in /spec the latest release of which is published at https://graphql.github.io

GraphQL 14k Jan 1, 2023
GraphQL Engine built with Python 3.6+ / asyncio

Tartiflette is a GraphQL Server implementation built with Python 3.6+. Summary Motivation Status Usage Installation Installation dependencies Tartifle

tartiflette 839 Dec 31, 2022