
Bejibun
252 posts

Bejibun
@bjbnframework
A typescript framework using @bunjavascript runtime. CA : CQhbNnCGKfDaKXt8uE61i5DrBYJV7NPsCDD9vQgypump TG : https://t.co/NUest1qaHA


Update : @bejibun/core v0.3.15 Schedule worker improvements Fixed : - Reworked schedule worker execution logic to fix cron timing inaccuracies - Fixed potential duplicate execution caused by cron re-evaluation per tick - Fixed drift issues in scheduling caused by `cron-parser.prev()` based checks - Fixed possible stuck running state by ensuring cleanup in finally - Improved shutdown handling of schedule worker interval Changes : - Replaced per-tick cron parsing with cached `CronExpression` - Added `nextRun` based execution system instead of `lastRuns` tracking - Replaced `setInterval` loop with adaptive `setTimeout` scheduler (better timing accuracy) - Added `prepareSchedules()` step during boot to register all cron jobs once - Improved `run()` execution to await process completion (`proc.exited`) - Reduced runtime overhead in scheduler tick loop - Reduced CPU usage by eliminating repeated cron parsing every second - More efficient scheduler loop using timestamp comparisons instead of cron evaluation - Better scaling behavior when many scheduled tasks exist - Removed internal reliance on lastRuns tracking system - Scheduling logic now depends entirely on precomputed `nextRun` - Behavior may differ slightly for edge-case cron expressions due to new evaluation model github.com/Bejibun-Framew…





Update : @bejibun/core v0.2.17
What's New :
- Added route `/apis` for route list (powered by swagger)
- Added decorator kernel
- Added `@ApiDoc(config: ApiDocConfig)` decorator
How to use?
@ApiDoc({
description: "Hello with Name",
request: {
params: [
{
name: "name",
in: "path",
required: true,
schema: {
type: "string"
}
}
]
}
})
public async helloName(request: Bun.BunRequest): Promise






