После успешного развертывания пакета AWS Lambda + REST API Selenium с Python 3.6 и тестирования его -HTTP-запроса или непосредственно с панели управления Lambda - я не могу выполнить сценарий во второй раз, и отображается ошибка [Errno 111] Connection refused"
.
Единственный способ, которым я могу это исправить, - это изменить случайные конфиги на панели инструментов, такие как выделенная память, PATH или параметры параллелизма.Другими словами, мне нужно вручную повторно развернуть весь пакет Lambda, чтобы он снова заработал.
Я уже несколько часов гуглю и похоже, что ошибка связана с тем, что порт уже используется, но мои скрипты на Python заканчиваются driver.close()
перед командой return, поэтому я не вижу, откуда это происходит.Есть ли способ вручную повторно развертывать пакет lambda каждый раз, когда выполняется мой сценарий?Или даже лучше: как мне это исправить?
Вот все опции, которые я использую:
hrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--allow-insecure-localhost')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--user-data-dir=/tmp/user-data')
chrome_options.add_argument('--enable-logging')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--window-size=1280,1000')
chrome_options.add_argument('--allow-running-insecure-content')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--log-level=0')
chrome_options.add_argument('--v=99')
chrome_options.add_argument('--single-process')
chrome_options.add_argument('--data-path=/tmp/data-path')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--homedir=/tmp')
chrome_options.add_argument('--disk-cache-dir=/tmp/cache-dir')
chrome_options.add_argument('user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36')
chrome_options.binary_location = os.getcwd() + "/bin/headless-chromium"
driver = webdriver.Chrome(chrome_options=chrome_options)
dynamo = boto3.client('dynamodb')