-
Notifications
You must be signed in to change notification settings - Fork 0
/
task.py
37 lines (35 loc) · 1.08 KB
/
task.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from celery import Celery
import json
import subprocess
import socket
from mcstatus import JavaServer
import pymongo
ip_address = socket.gethostbyname(hostname)
app = Celery('myapp', broker='pyamqp://guest@localhost//')
client = pymongo.MongoClient(f"{ip_adress}:27017")
if client.server_info():
print("Connected to MongoDB successfully!")
else:
print("Could not connect to MongoDB.")
db = client["treffer"]
collection = db["ips"]
@app.task
def mc_and_check_task(ip):
host = JavaServer.lookup(ip)
try:
status = host.status().raw
mc_status = {"ip": str(ip), "status": status}
mc_status_json = json.dumps(mc_status)
x = collection.insert_one(json.loads(mc_status_json))
print(x)
print(mc_status)
# except socket.timeout:
# print("Fehler socket.timeout")
except TimeoutError:
print("Fehler TimeoutError")
except ConnectionResetError:
print("Fehler ConnectionResetError")
except BrokenPipeError:
print("Fehler BrokenPipeError")
except Exception as e:
print(f"An error occurred: + {e}")