Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否有一种推荐的方法来模拟Metaflow中集成测试的AWS批处理?_Python_Docker_Integration Testing_Aws Batch_Metaflow - Fatal编程技术网

Python 是否有一种推荐的方法来模拟Metaflow中集成测试的AWS批处理?

Python 是否有一种推荐的方法来模拟Metaflow中集成测试的AWS批处理?,python,docker,integration-testing,aws-batch,metaflow,Python,Docker,Integration Testing,Aws Batch,Metaflow,我想实现以Metaflow流为特征的集成测试;i、 e.在Docker容器内从头到尾运行流程;理想情况下,这不需要对包含特定步骤上的@batch装饰器的流进行大量重写 在s3方面,我可以通过设置一个本地s3模拟服务器(例如)来实现这一点,但是对于AWS批处理,没有等效的范例。我想知道,除了声明@resources而不是@batch,其他人如何处理这个问题 我想到的一个解决方案是修补@batch,以便: #my_batch.py:为了便于说明,我还没有真正尝试过这个方法 从metaflow导入批次

我想实现以Metaflow流为特征的集成测试;i、 e.在Docker容器内从头到尾运行流程;理想情况下,这不需要对包含特定步骤上的
@batch
装饰器的流进行大量重写

在s3方面,我可以通过设置一个本地s3模拟服务器(例如)来实现这一点,但是对于AWS批处理,没有等效的范例。我想知道,除了声明
@resources
而不是
@batch
,其他人如何处理这个问题

我想到的一个解决方案是修补
@batch
,以便:

#my_batch.py:为了便于说明,我还没有真正尝试过这个方法
从metaflow导入批次作为metaflow\u批次
从metaflow.metaflow_配置导入metaflow_配置
def批次(*args,**kwargs):
"""
如果没有批=真,则关闭@batch
再一次…为了说明,我还没有真正尝试过这个
"""
如果METAFLOW_CONFIG[“NO_BATCH”]==False:
返回metaflow_批次(*args,**kwargs)
返回lambda func:func
然后只需使用我的
batch
decorator,在我的集成元流配置中设置
NO_batch=false

#my_flow.py
从metaflow导入流,步骤,…#等
#使用my_batch.batch而不是metaflow.batch
从my_package.my_批次导入批次
类MyFlow(流):
@批处理
@台阶
定义我的步骤(…):
... # 等

但是,也许我还缺少一些明显的东西,或者甚至可以采用类似于localstack的方法?

我主要尝试了aws相关服务的本地堆栈方法,我发现netflix维护着metaflow服务的docker映像:谢谢!我想最后我会选择批处理补丁解决方案,我会向metaflow发送一份PR,看看他们是否感兴趣:)