如何解决是否有推荐的方法来模拟 AWS Batch 以在 Metaflow 中进行集成测试?
我想实施以 Metaflow 流为特色的集成测试;即在 Docker 容器内从头到尾运行流程;理想情况下,这不需要对包含特定步骤的 @batch
装饰器的流程进行大量重写。
在 s3 方面,我可以通过设置本地 s3 模拟服务器(例如 s3ninja)来实现这一点,但是对于 AWS Batch,没有等效的范例。我想知道,除了声明 @resources
而不是 @batch
之外,其他人如何解决这个问题?
# my_batch.py: for illustrative purposes,I haven't actually tried this yet
from Metaflow import batch as Metaflow_batch
from Metaflow.Metaflow_config import MetaFLOW_CONfig
def batch(*args,**kwargs):
"""
Turns @batch "off" if NO_BATCH == True
again... for illustrative purposes,I haven't actually tried this yet
"""
if MetaFLOW_CONfig["NO_BATCH"] == False:
return Metaflow_batch(*args,**kwargs)
return lambda func: func
然后只需使用我的 batch
装饰器,在我的集成 Metaflow 配置中设置 NO_BATCH = false
:
# my_flow.py
from Metaflow import Flow,step,... # etc
# use my_batch.batch rather than Metaflow.batch
from my_package.my_batch import batch
class MyFlow(Flow):
@batch
@step
def my_step(...):
... # etc
但也许我遗漏了一些明显的东西,或者甚至是我可以采取的类似 localstack 的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。