Last commit not found
import aiohttp, asyncio | |
from App import SERVER_STATE, Node | |
import aiohttp | |
async def upload_file(file_path: str, node: str, chunk: int, task: str): | |
master_node = SERVER_STATE.get_master() | |
url = f"http://{master_node.SPACE_HOST}/uploadfile/?node={node}&chunk={chunk}&task={task}" | |
async with aiohttp.ClientSession() as session: | |
headers = {"Transfer-Encoding": "chunked"} | |
with open(file_path, "rb") as file: | |
async with session.post(url, headers=headers, data=file) as response: | |
if response.status == 200: | |
print("File uploaded successfully") | |
else: | |
print("Failed to upload file") | |
class WorkerClient: | |
base_url = SERVER_STATE.DB | |
async def register_worker(self): | |
async with aiohttp.ClientSession() as session: | |
data = { | |
"WORKER_ID": SERVER_STATE.SPACE_HOST, | |
"MASTER": SERVER_STATE.MASTER, | |
"HOST_NAME": SERVER_STATE.SPACE_HOST, | |
"SPACE_HOST": SERVER_STATE.SPACE_HOST, | |
} | |
response = await self.get_node() | |
if response: | |
return response | |
async with session.put( | |
f"{self.base_url}/nodes/{SERVER_STATE.SPACE_HOST}.json", json=data | |
) as resp: | |
return await resp.json() | |
async def get_node(self): | |
async with aiohttp.ClientSession() as session: | |
async with session.get( | |
f"{self.base_url}/nodes/{SERVER_STATE.SPACE_HOST}.json" | |
) as resp: | |
response = await resp.json() | |
return response | |
async def delete_node(self): | |
async with aiohttp.ClientSession() as session: | |
async with session.delete( | |
f"{self.base_url}/nodes/{SERVER_STATE.SPACE_HOST}.json" | |
) as resp: | |
response = await resp.json() | |
async def get_all_nodes(self): | |
async with aiohttp.ClientSession() as session: | |
async with session.get(f"{self.base_url}/nodes.json") as resp: | |
response = await resp.json() | |
SERVER_STATE.NODES = [Node(**value) for value in response.values()] | |
return SERVER_STATE.NODES | |