Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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("⚠️
|
| 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)))
|