hocam proje flask ile istek alıp seleniumu tetikliyor normalde. sorunsuz localde ama ubuntu tarafında selenium hata veriyor. çalışsa da timeout düşüyor yani sayfayı açmıyor sanırım.
Selenium'u flask runtime'ından çıkartmayı önermiştim bende. PM atarsanız daha iyi yardımcı olabilirim diye düşünüyorum.
Edit: Bende böyle bir problemle karşılaşmıştım ancak bu çözüm aklıma gelmemişti, şimdi eski kodları açma vakti... Bende oturdum denedim...
script.py
import time
import os
import datetime
time.sleep(5)
path = os.getcwd() + f"\\output.txt"
with open(path, "a", encoding="utf-8") as f:
f.write(f"[{datetime.datetime.now()}] I am triggered from a flask server and even though that script is done, I am still running!\n")app.py
import os
import subprocess
import sys
from flask import *
app = Flask(__name__)
@app.route("/")
def task():
script = os.getcwd() + "\\script.py"
subprocess.Popen([sys.executable, script], stdin=subprocess.PIPE)
message = "I am triggered from another script and even though that script is done, I am still running!"
print(message)
return jsonify({"message": message})
if __name__ == "__main__":
app.run(debug=True)app.py'î çalıştırın ve "/" route'unu açın ve iş akışını takip edin. Bir sunucuya yükleyip denemedim, selenium kodunu ayırmakla uğraşmak yerine önce bunu bir sunucuda çalıştırmayı bi dene, bekleme süresini de selenium sciptinin tahmini çalışma süresiyle eşitle. Eğer çalışırsa teorik olarak senin işinide görmesi lazım, bu şekilde bir yol izleyebilirsin,
Bu bir workarround'dır, en iyi çözüm olmayabilir, büyük bir ihtimal değilde. Hızlı bir çözümdü, olumlu veya olumsuz gerçekleşebilecek herhangi bir şekilde sorumlu değilim, kodu kullanmak senin kararın. Başarılar.
Edit: Dayanamadım detaylıca kodlamaya çalıştım, umarım iş görür.
Edit: Yolları centos'a göre düzenlemen gerekiyor sanırım.
Edit: Banada böyle bir çözüm lazımmış, VDS olmayan python destekli bir sunucuya kurup denedim, venv aktifleştirmeye gerek kalmadan aynı kod ile çalıştırmayı başardım.