此代碼是託管在pythonanywhere(Linux)的蟒蛇3.5。Pythonanywhere計劃作業有時活着不釋放羊羣
我使用with open
管理無阻塞的羊羣,但有時計劃過程運行到這會導致作業終止的異常;這是確定的,但我的困惑,鎖有時沒有釋放,以及所有後續嘗試均失敗來進行,因爲他們被鎖定。
在這種情況下我也看到了活着好幾個小時的過程(「提取工藝」在計劃任務選項卡)想必這是保持雞羣的過程。這些工作通常需要幾分鐘的時間。手動殺死它可以解決問題。我不明白這是怎麼回事。應該觸發超時異常的東西有時似乎掛起(代碼使用API調用其中一些併發)。
它是間歇性的...每月一次或兩次。 我可以要求pythonanywhere是在殺死長期任務更積極?主管是一個解決方案嗎?
這是代碼的頂部:
with open('neto_update_lock.lock', 'w+') as lock_file:
try:
fcntl.flock(lock_file, fcntl.LOCK_EX|fcntl.LOCK_NB)
except BlockingIOError:
print ("Can't get a lock. Sorry, stopping now")
raise