私は3つの関数を持ち、それぞれがリストを返します。問題は、各機能の実行に20-30秒ほどかかることです。スクリプト全体を実行すると、約2分かかります。同時に3つの関数を実行する方法(およびそれぞれから値を返す方法)
3つの機能を同時に実行するには、マルチプロセッシングまたはマルチスレッド化(いずれか実装が簡単な方)を使用します。
私が遭遇したもう一つのハードルは、私が各機能からリストを返す方法がわからないということでした。
def main():
masterlist = get_crs_in_snow()
noop_crs = get_noops_in_snow()
made_crs = get_crs_in_git()
# take the prod master list in SNOW, subtract what's been made or is in the noop list
create_me = [obj for obj in masterlist if obj not in made_crs and obj not in noop_crs]
print "There are {0} crs in Service Now not in Ansible".format(len(create_me))
for cr in create_me:
print str(cr[0]),
if __name__ == '__main__':
main()
私はちょうど次の行をマルチスレッドやマルチプロセッシングにより、実行時におけるいくつかの重要な改善を得ることができます図:
masterlist = get_crs_in_snow()
noop_crs = get_noops_in_snow()
made_crs = get_crs_in_git()
私はこれらの三つの機能を同時に実行しなければならないのは?
:私は、マルチプロセッシング・パターンにコードを適応しています。これらのテンプレートに従ってみて、特定の問題と試した内容で投稿を更新する必要があります。 – ChrisP