簡體   English   中英

Playwright 和 PM2 問題 - 在創建 PlaywrightContextManager 時掛起

[英]Playwright and PM2 Issue - hang while creating PlaywrightContextManager

我想和劇作家一起寫 scrapy 蜘蛛。 我使用模塊scrapy-playwright

我成功地編寫了一個蜘蛛,如果手動運行它可以正常工作( scrapy crawl my_spider )。 但是當我嘗試通過 PM2 啟動蜘蛛進程時,它只是掛起並且無法正常工作。

問題不在我的代碼中,也不在我如何進行 PM2 配置。 因為沒有劇作家蜘蛛成功運行。

問題出在劇作家的邏輯上。

我發現進程掛起的一行代碼: https://github.com/microsoft/playwright-python/blob/main/playwright/async_api/_context_manager.py#L40

在那之后,我嘗試用劇作家的同步 api 編寫自己的蜘蛛。 這個蜘蛛成功地手動啟動,但在 PM2 中它也凍結了。

同步編劇掛在這一行: https://github.com/microsoft/playwright-python/blob/main/playwright/sync_api/_context_manager.py#L88

我不明白為什么會這樣以及如何解決這個問題。 我的劇作家蜘蛛成功地手動啟動,但在 PM2 中它們凍結了。

你能幫我解決這個問題嗎?

我有一個類似的問題:我讓 Apache Airflow Celery 的工人運行 PM2,每小時運行一個編劇任務。 工作掛了。

我懷疑這是 Byobu 和 PM2 散落的環境變量。 對我有用的是將 Python 腳本包裝在 bash 腳本中並清理環境變量,如下所示:

#!/bin/bash
[ "$HOME" != "" ] && exec -c $0
# Your python script should come below:
/home/ubuntu/usr/venv-3.10-airflow/bin/airflow celery worker

第一行清除環境變量(如使用命令或 bash 腳本清理環境中所建議的那樣? )。 現在您可以使用pm2 start命令運行此腳本。 截至目前,我的工人已經正常運行了大約 24 小時。 我希望這對你也有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM