저는 fabric
API에 익숙하지 않으며 각 호스트마다 다른 명령 행 인수를 전달하려고합니다. 그래서, 지금 여기에 있습니다. 현재 아래의 비트는 세 호스트 각각에서 병렬로 get_num_reviews_aws.py
스크립트를 올바르게 실행합니다. 내가 무엇을 찾고패브릭 실행 태스크의 명령 줄 인수를 전달하십시오.
hosts = [[email protected],
[email protected],
[email protected]]
#%%
from fabric.api import run, parallel
from fabric.tasks import execute
%%
@parallel
def webscraper():
run("python get_num_reviews_aws.py")
#%% run on hosts
execute(webscraper, hosts=hosts)
각 호스트에 대한 다른 파이썬 스크립트에 명령 줄 인수를 전달 할 수있을 것입니다,하지만 여전히 병렬로 실행할 수있다. 이 같은 뭔가 :
@parallel
def webscraper(start, end):
run("python get_num_reviews_aws.py %s %s" % (start, end))
다음은 기본적으로 각 호스트에 대해 다른 start
의 세트 end
있습니다. 난 당신이 here 정의 된 역할을 사용할 수 있다고 생각
start = [1, 2, 3]
end = [4, 5, 6]
execute(webscraper, start, end, hosts=hosts)
언뜻보기에 문제가 해결되지 않는 것 같습니다. 'roles' 데코레이터는 호스트와 연결 문자열을 찾는 것입니다. 이것은 제가 직면하고있는 도전이 아닙니다. 위의'호스트 '목록을 이미 전달했습니다. –