Compare commits
3 commits
881fd5f5d8
...
1893bfed44
Author | SHA1 | Date | |
---|---|---|---|
1893bfed44 | |||
b28591abff | |||
7ffb8e2853 |
4 changed files with 17 additions and 13 deletions
2
Makefile
2
Makefile
|
@ -31,7 +31,7 @@ regenerate-entities:
|
|||
cd packages/backend/native-utils && \
|
||||
sea-orm-cli generate entity \
|
||||
--output-dir='src/model/entity' \
|
||||
--database-url='postgres://firefish:password@localhost/firefish_db'
|
||||
--database-url='postgres://firefish:password@localhost:25432/firefish_db'
|
||||
|
||||
|
||||
.PHONY: update-index-js
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
* @callback BeforeShutdownListener
|
||||
* @param {string} [signalOrEvent] The exit signal or event name received on the process.
|
||||
*/
|
||||
type BeforeShutdownListener = (signalOrEvent: string) => PromiseLike<void>;
|
||||
|
||||
/**
|
||||
* System signals the app will listen to initiate shutdown.
|
||||
|
@ -24,7 +25,7 @@ const SHUTDOWN_TIMEOUT = 15000;
|
|||
* down the process.
|
||||
* @type {BeforeShutdownListener[]}
|
||||
*/
|
||||
const shutdownListeners: ((signalOrEvent: string) => void)[] = [];
|
||||
const shutdownListeners: BeforeShutdownListener[] = [];
|
||||
|
||||
/**
|
||||
* Listen for signals and execute given `fn` function once.
|
||||
|
@ -89,7 +90,9 @@ async function shutdownHandler(signalOrEvent: string) {
|
|||
* @param {BeforeShutdownListener} listener The shutdown listener to register.
|
||||
* @returns {BeforeShutdownListener} Echoes back the supplied `listener`.
|
||||
*/
|
||||
export function beforeShutdown(listener: () => void) {
|
||||
export function beforeShutdown(
|
||||
listener: BeforeShutdownListener,
|
||||
): BeforeShutdownListener {
|
||||
shutdownListeners.push(listener);
|
||||
return listener;
|
||||
}
|
||||
|
|
|
@ -6,4 +6,4 @@ export const activeUsersChart = new ActiveUsersChart();
|
|||
// 20分おきにメモリ情報をDBに書き込み
|
||||
setInterval(() => activeUsersChart.save(), 1000 * 60 * 20);
|
||||
|
||||
beforeShutdown(async () => await new Promise(() => activeUsersChart.save()));
|
||||
beforeShutdown(() => activeUsersChart.save());
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
<template>
|
||||
<div class="cpjygsrt" :class="{ error: error != null, warn: warn != null }">
|
||||
<header>
|
||||
<div class="title"><slot name="header"></slot></div>
|
||||
<div class="buttons">
|
||||
<slot name="func"></slot>
|
||||
<button v-if="removable" class="_button" @click="remove()">
|
||||
<i :class="icon('ph-trash')"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="title"><slot name="header"></slot></div>
|
||||
<div class="buttons">
|
||||
<slot name="func"></slot>
|
||||
<div v-if="draggable" class="drag-handle _button">
|
||||
<i :class="icon('ph-list')"></i>
|
||||
</div>
|
||||
|
@ -115,14 +117,16 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
> header {
|
||||
display: flex;
|
||||
padding-top: 0.5em;
|
||||
|
||||
> .title {
|
||||
z-index: 1;
|
||||
margin: 0;
|
||||
padding: 0 16px;
|
||||
line-height: 42px;
|
||||
font-size: 0.9em;
|
||||
font-weight: bold;
|
||||
box-shadow: 0 1px rgba(#000, 0.07);
|
||||
flex: 1;
|
||||
|
||||
> i {
|
||||
margin-inline-end: 6px;
|
||||
|
@ -134,16 +138,13 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
> .buttons {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 0;
|
||||
inset-inline-end: 0;
|
||||
|
||||
> ._button {
|
||||
> ._button,
|
||||
> :slotted(._button) {
|
||||
padding: 0;
|
||||
width: 42px;
|
||||
font-size: 0.9em;
|
||||
line-height: 42px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue