deepfos 1.1.70__tar.gz → 1.1.72__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {deepfos-1.1.70 → deepfos-1.1.72}/CHANGELOG.md +15 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/PKG-INFO +1 -1
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/_version.py +3 -3
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/deep_pipeline.py +1 -1
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/deep_pipeline.py +14 -3
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/deep_pipeline.py +29 -16
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/deepmodel.py +1 -1
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos.egg-info/PKG-INFO +1 -1
- {deepfos-1.1.70 → deepfos-1.1.72}/.gitattributes +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/.gitee/ISSUE_GUIDELINES.md +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/.gitee/ISSUE_TEMPLATE.md +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/.gitignore +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/MANIFEST.in +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/README.md +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/algo/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/algo/graph.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_1/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_1/business_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_1/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_1/models/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_1/models/business_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_1/models/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_2/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_2/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_2/models/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/V1_2/models/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/account.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/accounting_engines.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/app.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/approval_process.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/base.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/business_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/consolidation.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/consolidation_process.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/datatable.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/deepconnector.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/deepfos_task.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/deepmodel.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/financial_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/journal_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/journal_template.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/memory_financial_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/account.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/accounting_engines.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/app.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/approval_process.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/base.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/business_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/consolidation.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/consolidation_process.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/datatable_mysql.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/deepconnector.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/deepfos_task.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/deepmodel.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/financial_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/journal_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/journal_template.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/memory_financial_model.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/platform.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/python.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/reconciliation_engine.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/reconciliation_report.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/role_strategy.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/smartlist.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/space.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/system.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/variable.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/models/workflow.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/platform.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/python.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/reconciliation_engine.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/reconciliation_report.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/role_strategy.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/smartlist.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/space.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/system.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/variable.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/api/workflow.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/boost/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/boost/jstream.c +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/boost/jstream.pyx +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/boost/pandas.c +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/boost/pandas.pyx +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/boost/py_jstream.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/boost/py_pandas.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/cache.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/config.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/_base.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/constants.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/cube.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/formula.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/syscube.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/typing.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/cube/utils.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/_base.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/dimcreator.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/dimexpr.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/dimmember.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/eledimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/filters.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/dimension/sysdimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/logictable/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/logictable/_cache.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/logictable/_operator.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/logictable/nodemixin.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/logictable/sqlcondition.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/core/logictable/tablemodel.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/cipher.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/clickhouse.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/connector.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/daclickhouse.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/dameng.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/damysql.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/dbkits.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/deepengine.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/deepmodel.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/deepmodel_kingbase.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/edb.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/gauss.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/kingbase.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/mysql.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/oracle.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/postgresql.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/sqlserver.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/db/utils.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/accounting.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/apvlprocess.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/base.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/bizmodel.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/datatable.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/deepconnector.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/dimension.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/fact_table.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/finmodel.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/journal.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/journal_template.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/pyscript.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/reconciliation.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/rolestrategy.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/smartlist.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/variable.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/element/workflow.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/exceptions/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/exceptions/hook.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lazy.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/__init__.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/_javaobj.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/asynchronous.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/concurrency.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/constant.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/decorator.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/deepchart.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/deepux.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/discovery.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/edb_lexer.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/eureka.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/filterparser.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/httpcli.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/jsonstreamer.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/msg.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/nacos.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/patch.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/redis.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/serutils.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/stopwatch.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/subtask.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/sysutils.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/lib/utils.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/local.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/options.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos/translation.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos.egg-info/SOURCES.txt +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos.egg-info/dependency_links.txt +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos.egg-info/not-zip-safe +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos.egg-info/requires.txt +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/deepfos.egg-info/top_level.txt +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/requirements.txt +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/setup.cfg +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/setup.py +0 -0
- {deepfos-1.1.70 → deepfos-1.1.72}/versioneer.py +0 -0
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## [1.1.72] - 2025-08-26
|
|
2
|
+
|
|
3
|
+
### 更新
|
|
4
|
+
|
|
5
|
+
* 修正deepmodel批量插入、更新提供的dataframe的int列包含空值时会被转换为float64列,导致bulk语句执行失败的问题
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## [1.1.71] - 2025-08-21
|
|
9
|
+
|
|
10
|
+
### 更新
|
|
11
|
+
|
|
12
|
+
* 根据数据流3.0组件API调整更新模型定义
|
|
13
|
+
* 数据流3.0异步启动默认为带启停启动,同步固定为不带启停启动
|
|
14
|
+
|
|
15
|
+
|
|
1
16
|
## [1.1.70] - 2025-08-19
|
|
2
17
|
|
|
3
18
|
### 新增
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-08-
|
|
11
|
+
"date": "2025-08-25T08:27:57+0000",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.1.
|
|
14
|
+
"full-revisionid": "525ae9f3636ed46b3000c17a55a8149cd5af2dc7",
|
|
15
|
+
"version": "1.1.72"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ class RunAPI(ChildAPI):
|
|
|
12
12
|
endpoint = '/'
|
|
13
13
|
|
|
14
14
|
@post('run')
|
|
15
|
-
def run_async(self, run_info: RunInfo) -> Union[str, Awaitable[str]]:
|
|
15
|
+
def run_async(self, run_info: Union[RunInfo, RunInfoWithParam]) -> Union[str, Awaitable[str]]:
|
|
16
16
|
"""
|
|
17
17
|
异步执行数据流
|
|
18
18
|
异步执行数据流,返回任务id
|
|
@@ -3,11 +3,24 @@ from typing import Any, Optional
|
|
|
3
3
|
from .base import BaseModel
|
|
4
4
|
|
|
5
5
|
__all__ = [
|
|
6
|
-
"RunInfo", "FlowInfo",
|
|
6
|
+
"RunInfo", "FlowInfo", "RunInfoWithParam",
|
|
7
7
|
]
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class RunInfo(BaseModel):
|
|
11
|
+
#: 元素名/编码
|
|
12
|
+
elementName: str
|
|
13
|
+
#: 元素类型
|
|
14
|
+
elementType: str = "DPL"
|
|
15
|
+
#: 文件路径
|
|
16
|
+
path: Optional[str] = None
|
|
17
|
+
#: 文件夹id
|
|
18
|
+
folderId: Optional[str] = None
|
|
19
|
+
# 是否在同一个进程执行
|
|
20
|
+
inProcess: bool = False
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class RunInfoWithParam(BaseModel):
|
|
11
24
|
#: 元素名/编码
|
|
12
25
|
elementName: str
|
|
13
26
|
#: 元素类型
|
|
@@ -30,8 +43,6 @@ class Revision(BaseModel):
|
|
|
30
43
|
|
|
31
44
|
|
|
32
45
|
class Configure(BaseModel):
|
|
33
|
-
#: 超时时间(秒)
|
|
34
|
-
timeout: int
|
|
35
46
|
#: 公共脚本
|
|
36
47
|
prelude: Optional[str] = None
|
|
37
48
|
#: 实例名称
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import time
|
|
3
|
+
import warnings
|
|
3
4
|
from math import ceil
|
|
4
5
|
from typing import Any, TYPE_CHECKING, List
|
|
5
6
|
|
|
6
7
|
from deepfos import OPTION
|
|
7
8
|
from deepfos.api.deep_pipeline import DeepPipelineAPI
|
|
8
|
-
from deepfos.api.models.deep_pipeline import RunInfo, FlowInfo
|
|
9
|
+
from deepfos.api.models.deep_pipeline import RunInfo, FlowInfo, RunInfoWithParam
|
|
9
10
|
from deepfos.element.base import ElementBase, SyncMeta
|
|
10
11
|
from deepfos.exceptions import (
|
|
11
12
|
APIResponseError, RunIdInvalid, RunTerminated,
|
|
12
13
|
ReleaseFlowTimeout, RunFailedError, ReleaseFlowNotExists,
|
|
13
14
|
)
|
|
14
15
|
from deepfos.lib.asynchronous import future_property
|
|
16
|
+
from deepfos.lib.constant import UNSET
|
|
15
17
|
from deepfos.lib.decorator import cached_property
|
|
16
18
|
|
|
17
19
|
errcode_map = {
|
|
@@ -47,7 +49,7 @@ class AsyncDeepPipeline(ElementBase[DeepPipelineAPI]):
|
|
|
47
49
|
|
|
48
50
|
async def run(
|
|
49
51
|
self,
|
|
50
|
-
parameter: Any =
|
|
52
|
+
parameter: Any = UNSET,
|
|
51
53
|
timeout: int = None,
|
|
52
54
|
in_process: bool = True,
|
|
53
55
|
) -> Any:
|
|
@@ -57,25 +59,29 @@ class AsyncDeepPipeline(ElementBase[DeepPipelineAPI]):
|
|
|
57
59
|
Args:
|
|
58
60
|
parameter: 执行参数
|
|
59
61
|
timeout: 超时时间(秒)
|
|
60
|
-
in_process:
|
|
62
|
+
in_process: 是否在同一个进程执行(仅作新旧兼容,实际只会在同一个进程执行,即不带启停启动)
|
|
61
63
|
|
|
62
64
|
Returns:
|
|
63
65
|
执行结果
|
|
64
66
|
"""
|
|
65
|
-
|
|
67
|
+
if not in_process:
|
|
68
|
+
warnings.warn(
|
|
69
|
+
'同步启动固定为同一个进程执行(不带启停启动),in_process参数为False不会影响该行为'
|
|
70
|
+
)
|
|
71
|
+
run_id = await self.run_async(parameter, True)
|
|
66
72
|
return await self.result(run_id, timeout)
|
|
67
73
|
|
|
68
74
|
async def run_async(
|
|
69
75
|
self,
|
|
70
|
-
parameter: Any =
|
|
71
|
-
in_process: bool =
|
|
76
|
+
parameter: Any = UNSET,
|
|
77
|
+
in_process: bool = False,
|
|
72
78
|
) -> str:
|
|
73
79
|
"""
|
|
74
80
|
异步启动数据流
|
|
75
81
|
|
|
76
82
|
Args:
|
|
77
83
|
parameter: 执行参数
|
|
78
|
-
in_process:
|
|
84
|
+
in_process: 是否在同一个进程执行,默认False,即带启停启动
|
|
79
85
|
|
|
80
86
|
Returns:
|
|
81
87
|
执行ID
|
|
@@ -83,14 +89,21 @@ class AsyncDeepPipeline(ElementBase[DeepPipelineAPI]):
|
|
|
83
89
|
if not self.has_approved_release:
|
|
84
90
|
raise ReleaseFlowNotExists('暂无启用中状态的数据流版本')
|
|
85
91
|
|
|
86
|
-
|
|
87
|
-
RunInfo(
|
|
92
|
+
if parameter is UNSET:
|
|
93
|
+
payload = RunInfo(
|
|
94
|
+
elementName=self.element_name,
|
|
95
|
+
folderId=self.element_info.folderId,
|
|
96
|
+
inProcess=in_process
|
|
97
|
+
)
|
|
98
|
+
else:
|
|
99
|
+
payload = RunInfoWithParam(
|
|
88
100
|
elementName=self.element_name,
|
|
89
101
|
parameter=parameter,
|
|
90
102
|
folderId=self.element_info.folderId,
|
|
91
103
|
inProcess=in_process
|
|
92
104
|
)
|
|
93
|
-
|
|
105
|
+
|
|
106
|
+
return await self.async_api.run.run_async(payload)
|
|
94
107
|
|
|
95
108
|
async def result(self, run_id: str, timeout: int = None) -> Any:
|
|
96
109
|
"""
|
|
@@ -134,14 +147,14 @@ class AsyncDeepPipeline(ElementBase[DeepPipelineAPI]):
|
|
|
134
147
|
async def run_batch(
|
|
135
148
|
self,
|
|
136
149
|
parameters: List[Any],
|
|
137
|
-
in_process: bool =
|
|
150
|
+
in_process: bool = False,
|
|
138
151
|
) -> List[str]:
|
|
139
152
|
"""
|
|
140
153
|
批量异步启动数据流
|
|
141
154
|
|
|
142
155
|
Args:
|
|
143
156
|
parameters: 执行参数列表
|
|
144
|
-
in_process:
|
|
157
|
+
in_process: 是否在同一个进程执行,默认False,即带启停启动
|
|
145
158
|
|
|
146
159
|
Returns:
|
|
147
160
|
执行ID列表
|
|
@@ -162,7 +175,7 @@ class DeepPipeline(AsyncDeepPipeline, metaclass=SyncMeta):
|
|
|
162
175
|
if TYPE_CHECKING: # pragma: no cover
|
|
163
176
|
def run(
|
|
164
177
|
self,
|
|
165
|
-
parameter: Any =
|
|
178
|
+
parameter: Any = UNSET,
|
|
166
179
|
timeout: int = None,
|
|
167
180
|
in_process: bool = True,
|
|
168
181
|
) -> Any:
|
|
@@ -170,8 +183,8 @@ class DeepPipeline(AsyncDeepPipeline, metaclass=SyncMeta):
|
|
|
170
183
|
|
|
171
184
|
def run_async(
|
|
172
185
|
self,
|
|
173
|
-
parameter: Any =
|
|
174
|
-
in_process: bool =
|
|
186
|
+
parameter: Any = UNSET,
|
|
187
|
+
in_process: bool = False,
|
|
175
188
|
) -> str:
|
|
176
189
|
...
|
|
177
190
|
|
|
@@ -181,6 +194,6 @@ class DeepPipeline(AsyncDeepPipeline, metaclass=SyncMeta):
|
|
|
181
194
|
def run_batch(
|
|
182
195
|
self,
|
|
183
196
|
parameters: List[Any],
|
|
184
|
-
in_process: bool =
|
|
197
|
+
in_process: bool = False,
|
|
185
198
|
):
|
|
186
199
|
...
|
|
@@ -382,7 +382,7 @@ class FieldJson(BaseField):
|
|
|
382
382
|
|
|
383
383
|
class FieldInt(BaseField):
|
|
384
384
|
def fit(self, df: pd.DataFrame, field_name: str, raw_pg: bool = False):
|
|
385
|
-
df[field_name] =
|
|
385
|
+
df[field_name] = df[field_name].astype(pd.Int64Dtype(), errors='ignore')
|
|
386
386
|
|
|
387
387
|
def cast(self, df: pd.DataFrame, field_name: str, direct_access: bool = True):
|
|
388
388
|
df[field_name] = df[field_name].astype(pd.Int64Dtype(), errors='ignore')
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|