Update.
This commit is contained in:
parent
d3c0e138d8
commit
da9566c11f
src/snek
@ -233,8 +233,6 @@ class PushService(BaseService):
|
|||||||
print(
|
print(
|
||||||
f"Failed to send notification to user {user_uid} via endpoint {endpoint}: {response.status}"
|
f"Failed to send notification to user {user_uid} via endpoint {endpoint}: {response.status}"
|
||||||
)
|
)
|
||||||
else:
|
|
||||||
print(f"No push subscriptions found for user {user_uid}")
|
|
||||||
|
|
||||||
async def register(
|
async def register(
|
||||||
self, user_uid: str, endpoint: str, key_auth: str, key_p256dh: str
|
self, user_uid: str, endpoint: str, key_auth: str, key_p256dh: str
|
||||||
|
@ -52,15 +52,13 @@ self.addEventListener("notificationclose", (event) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
self.addEventListener("fetch", (event) => {
|
self.addEventListener("fetch", (event) => {
|
||||||
// console.log("Fetch event for ", event.request.url);
|
|
||||||
event.respondWith(
|
event.respondWith(
|
||||||
caches.match(event.request).then((response) => {
|
caches.match(event.request).then((response) => {
|
||||||
if (response) {
|
if (response) {
|
||||||
// console.log("Found response in cache: ", response);
|
// console.log("Found response in cache: ", response);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
// console.log("No response found in cache. About to fetch from network...");
|
|
||||||
return fetch(event.request);
|
return fetch(event.request);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
|
@ -39,7 +39,6 @@ class ComposeFileManager:
|
|||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
while True:
|
while True:
|
||||||
line = await loop.run_in_executor(None,os.read,stream,1024)
|
line = await loop.run_in_executor(None,os.read,stream,1024)
|
||||||
print("XXX",line)
|
|
||||||
if not line:
|
if not line:
|
||||||
break
|
break
|
||||||
await event_handler(container_name,"stdout",line)
|
await event_handler(container_name,"stdout",line)
|
||||||
@ -117,13 +116,12 @@ class ComposeFileManager:
|
|||||||
)
|
)
|
||||||
stdout, _ = await proc.communicate()
|
stdout, _ = await proc.communicate()
|
||||||
running_services = stdout.decode().split()
|
running_services = stdout.decode().split()
|
||||||
|
print(running_services)
|
||||||
return "running" if name in running_services else "stopped"
|
return "running" if name in running_services else "stopped"
|
||||||
|
|
||||||
async def write_stdin(self, name, data):
|
async def write_stdin(self, name, data):
|
||||||
await self.event_handler(name, "stdin", data)
|
await self.event_handler(name, "stdin", data)
|
||||||
proc = self.running_instances.get(name)
|
proc = self.running_instances.get(name)
|
||||||
print("Found proc:",proc)
|
|
||||||
print(name,data)
|
|
||||||
if not proc:
|
if not proc:
|
||||||
return False
|
return False
|
||||||
try:
|
try:
|
||||||
@ -177,11 +175,9 @@ class ComposeFileManager:
|
|||||||
stderr=asyncio.subprocess.PIPE,
|
stderr=asyncio.subprocess.PIPE,
|
||||||
)
|
)
|
||||||
stdout,stderr = await proc.communicate()
|
stdout,stderr = await proc.communicate()
|
||||||
print(stdout, stderr)
|
|
||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
print(f"Failed to start {name}: {stderr.decode(errors='ignore')}")
|
print(f"Failed to start {name}: {stderr.decode(errors='ignore')}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
master, slave = pty.openpty()
|
master, slave = pty.openpty()
|
||||||
proc = await asyncio.create_subprocess_exec(
|
proc = await asyncio.create_subprocess_exec(
|
||||||
"docker", "compose", "-f", self.compose_path, "exec", name, "/bin/bash",
|
"docker", "compose", "-f", self.compose_path, "exec", name, "/bin/bash",
|
||||||
@ -189,25 +185,8 @@ class ComposeFileManager:
|
|||||||
stdout=slave,
|
stdout=slave,
|
||||||
stderr=slave,
|
stderr=slave,
|
||||||
)
|
)
|
||||||
|
proc = {'proc': proc, 'master': master, 'slave': slave}
|
||||||
proc = {'proc':proc,'master':master,'slave':slave}
|
self.running_instances[name] = proc
|
||||||
# stdin,stderr = await proc.communicate()
|
|
||||||
self.running_instances[name] = proc
|
|
||||||
#if stdout:
|
|
||||||
# await self.event_handler(name, "stdout", stdout)
|
|
||||||
#if stderr:
|
|
||||||
# await self.event_handler(name,"stdout",stderr)
|
|
||||||
|
|
||||||
await self._create_readers(name)
|
await self._create_readers(name)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
#return stdout and stdout.decode(errors="ignore") or stderr.decode(errors="ignore")
|
|
||||||
|
|
||||||
# Example usage:
|
|
||||||
# mgr = ComposeFileManager()
|
|
||||||
# mgr.create_instance('web', 'nginx:latest', cpus=1, memory='512m', ports={80:8080}, volumes=['./data:/data'])
|
|
||||||
# print(mgr.list_instances())
|
|
||||||
# mgr.duplicate_instance('web', 'web_copy')
|
|
||||||
# mgr.remove_instance('web_copy')
|
|
||||||
# await mgr.start('web')
|
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
app.channelUid = '{{ channel.uid.value }}'
|
app.channelUid = '{{ channel.uid.value }}'
|
||||||
|
|
||||||
window.getContainer = function(){
|
window.getContainer = function(){
|
||||||
return new Container(app.channelUid,true)
|
return new Container(app.channelUid,false)
|
||||||
}
|
}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
let installPrompt = null
|
let installPrompt = null
|
||||||
@ -93,7 +93,6 @@ let installPrompt = null
|
|||||||
|
|
||||||
button.addEventListener("click", async ()=>{
|
button.addEventListener("click", async ()=>{
|
||||||
const result = await installPrompt.prompt()
|
const result = await installPrompt.prompt()
|
||||||
console.info(result.outcome)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@ -389,7 +389,8 @@ class RPCView(BaseView):
|
|||||||
)
|
)
|
||||||
|
|
||||||
async def _send_json(self, obj):
|
async def _send_json(self, obj):
|
||||||
await self.ws.send_str(json.dumps(obj, default=str))
|
if not self.ws.closed:
|
||||||
|
await self.ws.send_str(json.dumps(obj, default=str))
|
||||||
|
|
||||||
async def get_online_users(self, channel_uid):
|
async def get_online_users(self, channel_uid):
|
||||||
self._require_login()
|
self._require_login()
|
||||||
|
Loading…
Reference in New Issue
Block a user