模块调用

# 模块调用

定义 M.cache.v3(run,kwargs,m_deps)

M.cache 本质上是函数调用,之所以使用M模块调用,是便于缓存的管理,节省计算资源。

参数:

  • run 调用函数
  • kwargs 调用函数的参数
  • m_deps 模块缓存标识

返回类型:Outputs

示例代码:

def fool(name):
    print('hello, %s' % name)
    df = pd.DataFrame({'a': range(0, 10)})
    ds = DataSource.write_df(df)
    return Outputs(bar=ds)

#第一次运行的时候,会执行foo
m1 = M.cached.v3(run=fool, kwargs=dict(name='quant'))

运行结果:

[2018-08-29 15:53:15.104442] INFO: bigquant: cached.v3 开始运行..
hello, quant
[2018-08-29 15:53:15.127879] INFO: bigquant: cached.v3 运行完成[0.023507s].
# 使用全局变量

示例代码:


bar = '1234'
def foo2(name):
    print('hello, %s, %s' % (name, bar))
    df = pd.DataFrame({'a': range(0, 10)})
    ds = DataSource.write_df(df)
    return Outputs(bar=ds)
# 第一次运行的时候,会执行foo
m1 = M.cached.v3(run=foo2, kwargs=dict(name='quant'), m_deps=[bar])

运行结果:

[2018-08-29 15:53:51.157840] INFO: bigquant: cached.v3 开始运行..
hello, quant, 1234
[2018-08-29 15:53:51.173201] INFO: bigquant: cached.v3 运行完成[0.015368s].