FarelDeveloper commited on
Commit
e60de31
·
verified ·
1 Parent(s): ba2524f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -5
app.py CHANGED
@@ -9,7 +9,11 @@ app.secret_key = 'supersecretkey'
9
  app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///uptimezelarixa.db'
10
  db = SQLAlchemy(app)
11
 
12
- # Secrets aman dari Hugging Face / platform deployment
 
 
 
 
13
  BOT_TOKEN = os.getenv("BOT_TOKEN")
14
  CHAT_ID = os.getenv("CHAT_ID")
15
 
@@ -28,12 +32,10 @@ class Monitor(db.Model):
28
  last_check = db.Column(db.String(100))
29
  response_time = db.Column(db.Float)
30
 
31
- db.create_all()
32
-
33
  # ---------- Fungsi utama ----------
34
  def send_telegram_alert(name, url):
35
  if not BOT_TOKEN or not CHAT_ID:
36
- print("⚠️ Token atau Chat ID belum diatur di Secrets!")
37
  return
38
  text = f"⚠️ [ALERT] {name} ({url}) sedang DOWN!"
39
  try:
@@ -59,6 +61,7 @@ def check_monitors():
59
  m.last_check = time.strftime("%H:%M:%S %d-%m-%Y")
60
  db.session.commit()
61
 
 
62
  scheduler = BackgroundScheduler()
63
  scheduler.add_job(check_monitors, 'interval', minutes=5)
64
  scheduler.start()
@@ -171,4 +174,4 @@ LOGIN_TEMPLATE = """
171
  """
172
 
173
  if __name__ == '__main__':
174
- app.run(host='0.0.0.0', port=7860)
 
9
  app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///uptimezelarixa.db'
10
  db = SQLAlchemy(app)
11
 
12
+ # ✅ FIX: Jalankan di dalam app context agar tidak error
13
+ with app.app_context():
14
+ db.create_all()
15
+
16
+ # Ambil secrets dari environment
17
  BOT_TOKEN = os.getenv("BOT_TOKEN")
18
  CHAT_ID = os.getenv("CHAT_ID")
19
 
 
32
  last_check = db.Column(db.String(100))
33
  response_time = db.Column(db.Float)
34
 
 
 
35
  # ---------- Fungsi utama ----------
36
  def send_telegram_alert(name, url):
37
  if not BOT_TOKEN or not CHAT_ID:
38
+ print("⚠️ BOT_TOKEN atau CHAT_ID belum diatur di Secrets!")
39
  return
40
  text = f"⚠️ [ALERT] {name} ({url}) sedang DOWN!"
41
  try:
 
61
  m.last_check = time.strftime("%H:%M:%S %d-%m-%Y")
62
  db.session.commit()
63
 
64
+ # Scheduler otomatis cek setiap 5 menit
65
  scheduler = BackgroundScheduler()
66
  scheduler.add_job(check_monitors, 'interval', minutes=5)
67
  scheduler.start()
 
174
  """
175
 
176
  if __name__ == '__main__':
177
+ app.run(host='0.0.0.0', port=int(os.getenv("PORT", 7860)))