Skip to content

Commit

Permalink
refactor: update database column name
Browse files Browse the repository at this point in the history
  • Loading branch information
ikxin committed Aug 13, 2024
1 parent ff49b19 commit 5520780
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 26 deletions.
39 changes: 20 additions & 19 deletions service/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,34 +16,34 @@ const connection = await mysql.createConnection(
const db = drizzle(connection, { schema, mode: 'default' })

export type RunVlmcsType = {
domain: string
host: string
port?: number
protocol?: number
app?: number
protocol?: number
}

const runVlmcs = ({
domain,
host,
port = 1688,
protocol = 6,
app = 26,
protocol = 6,
}: RunVlmcsType) => {
return new Promise<{
content: string
delay: number
domain: string
host: string
status: boolean
}>(resolve => {
const before = Date.now()
execFile(
`./service/binaries/vlmcs-${platform()}-${arch()}`,
[`${domain}:${port}`, `-${protocol}`, `-l ${app}`],
[`${host}:${port}`, `-${protocol}`, `-l ${app}`],
{ timeout: 5 * 1000 },
(err, stdout) => {
resolve({
content: stdout.trim(),
host,
delay: Date.now() - before,
domain,
content: stdout.trim(),
status: err ? false : true,
})
},
Expand All @@ -64,19 +64,20 @@ app.use(cors())

app.use(
cron({
name: 'heartbeat',
pattern: Patterns.everySenconds(1),
name: 'check',
pattern: Patterns.everySenconds(10),
async run() {
const vlmcsdService = await db.query.serviceTable.findMany()
if (Array.isArray(vlmcsdService) && vlmcsdService?.length > 0) {
for (const item of vlmcsdService) {
const { domain, port } = item
const data = await runVlmcs({ domain, port })
const result = await db.insert(schema.logsTable).values({
...data,
const servers = await db.query.server.findMany()
if (Array.isArray(servers) && servers?.length > 0) {
for (const item of servers) {
const result = await runVlmcs({
host: item.host,
port: item.port,
})
await db.insert(schema.logs).values({
...result,
createdAt: new Date(),
})
console.log(result)
}
}
},
Expand All @@ -86,7 +87,7 @@ app.use(
app.get('/*', () => Bun.file('dist/index.html'))

app.get('/api/logs', async () => {
return await db.query.logsTable.findMany()
return await db.query.logs.findMany()
})

app.post('/api/check', async request => {
Expand Down
14 changes: 7 additions & 7 deletions service/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@ import {
timestamp,
} from 'drizzle-orm/mysql-core'

export const serviceTable = mysqlTable('service', {
export const server = mysqlTable('server', {
id: int('id').autoincrement().primaryKey(),
domain: text('domain').notNull(),
host: text('host').notNull(),
port: int('port').notNull().default(1688),
total: int('total').notNull().default(0),
success: int('success').notNull().default(0),
fail: int('fail').notNull().default(0),
successRate: float('success_rate').notNull().default(0),
recentSuccessRate: float('recent_success_rate').notNull().default(0),
averageDelay: float('average_delay').notNull().default(0),
delay: float('delay').notNull().default(0),
rate: float('rate').notNull().default(0),
rateAll: float('rate_all').notNull().default(0),
updatedAt: timestamp('updated_at'),
createdAt: timestamp('created_at'),
})

export const logsTable = mysqlTable('logs', {
export const logs = mysqlTable('logs', {
id: int('id').autoincrement().primaryKey(),
domain: text('domain').notNull(),
host: text('host').notNull(),
delay: int('delay').notNull().default(0),
content: text('content'),
status: boolean('status').notNull().default(false),
Expand Down

0 comments on commit 5520780

Please sign in to comment.