support scheduled transaction (#2)

This commit is contained in:
MaysWind
2024-08-26 01:52:52 +08:00
parent 17d4fec256
commit d2eaf5c6da
42 changed files with 1437 additions and 112 deletions
+14
View File
@@ -1,6 +1,8 @@
package cron
import (
"time"
"github.com/mayswind/ezbookkeeping/pkg/core"
"github.com/mayswind/ezbookkeeping/pkg/services"
)
@@ -16,3 +18,15 @@ var RemoveExpiredTokensJob = &CronJob{
return services.Tokens.DeleteAllExpiredTokens(c)
},
}
// CreateScheduledTransactionJob represents the cron job which periodically create transaction by scheduled transaction template
var CreateScheduledTransactionJob = &CronJob{
Name: "CreateScheduledTransaction",
Description: "Periodically create transaction by scheduled transaction template.",
Period: CronJobEvery15MinutesPeriod{
Second: 0,
},
Run: func(c *core.CronContext) error {
return services.Transactions.CreateScheduledTransactions(c, time.Now().Unix(), c.GetInterval())
},
}