From 001970e7d11e63ef906187f22d3a33a134aeb5c3 Mon Sep 17 00:00:00 2001 From: enki Date: Mon, 12 May 2025 09:13:56 -0700 Subject: [PATCH] chron fix --- internal/scheduler/scheduler.go | 18 ++++++++++++++---- nostr-poster.db-shm | Bin 0 -> 32768 bytes nostr-poster.db-wal | Bin 0 -> 65952 bytes 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 nostr-poster.db-shm create mode 100644 nostr-poster.db-wal diff --git a/internal/scheduler/scheduler.go b/internal/scheduler/scheduler.go index 9eae869..98eab64 100644 --- a/internal/scheduler/scheduler.go +++ b/internal/scheduler/scheduler.go @@ -215,9 +215,17 @@ func (s *Scheduler) ScheduleBot(bot *models.Bot) error { } // Create the schedule expression - // Format: "0 */X * * * *" where X is the interval in minutes - // This runs at 0 seconds, every X minutes - schedule := fmt.Sprintf("0 */%d * * * *", bot.PostConfig.IntervalMinutes) + // For intervals > 60 minutes, we need to use hours + var schedule string + if bot.PostConfig.IntervalMinutes >= 60 && bot.PostConfig.IntervalMinutes % 60 == 0 { + // Format: "0 0 */X * * *" where X is the interval in hours + // This runs at 0 seconds, 0 minutes, every X hours + schedule = fmt.Sprintf("0 0 */%d * * *", bot.PostConfig.IntervalMinutes/60) + } else { + // Format: "0 */X * * * *" where X is the interval in minutes + // This runs at 0 seconds, every X minutes + schedule = fmt.Sprintf("0 */%d * * * *", bot.PostConfig.IntervalMinutes) + } // Create a job function that captures the bot's information jobFunc := func() { @@ -483,7 +491,9 @@ func (s *Scheduler) ScheduleBot(bot *models.Bot) error { s.logger.Info("Bot scheduled successfully", zap.Int64("bot_id", bot.ID), zap.String("name", bot.Name), - zap.String("schedule", schedule)) + zap.String("schedule", schedule), + zap.Int("interval_minutes", bot.PostConfig.IntervalMinutes), + zap.Int("interval_hours", bot.PostConfig.IntervalMinutes/60)) return nil } diff --git a/nostr-poster.db-shm b/nostr-poster.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..1553492d74efe8c61e52c8a85d6c67f5c1fa154a GIT binary patch literal 32768 zcmeI*KS~2p5C`CwM2+!p1d-HftUQUA&?DG+hjf_>O@qB)Fd3Jp}T+V)Ze?00d z`P|PR>6gD-yt@sfMo~Lax!&!)@2!nvz2C1*dOwJs`xOEN2oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z0D)~37{rW;ahtTGcCwAzw`T%>5XgBeLZGHVP8t#dH3f3UmJp~ZkQ3#EKuv+1p(q4u z3gpC4Ay8AmtlXO4-KkUH7z2T_0;gq9?%)LS4+KJh009C72oNAZfB*pk1PBlyK!5-N S0t5&UAV7cs0Rja6r@#i{_$Y(` literal 0 HcmV?d00001 diff --git a/nostr-poster.db-wal b/nostr-poster.db-wal new file mode 100644 index 0000000000000000000000000000000000000000..ca41454464393dcd6d5c437e0e6fc48c1ce83d61 GIT binary patch literal 65952 zcmeI*Pi)&%90%|uZId)*tP(1rI}F2ArDbJW$Hq48u%)e6MN88yO~fh=o|Cw%)g(@B zr(JuQlx=VrLWm+HdSC}Y2!{A0ApsJw%Ldv3jX#1L0x|v^Kb&3Yy}hUX70<&z+~@JMdT6@-+qbvwJ#qfiFD}pDIJPhH4lD9H z%U}NN>Djrx*Dnkoi_5yijVfwE)VW94);^!-5XZ5)KK5v&ZK@M(zj)bNx72T+XUELM zrp{8JDKH6n{L$C5G4| z9glPAMC@3ar`7Cm)#;Kh<%E(dPu^COs?Y(tx2Mvatd;WOv|z8L!i=mKHI2>W(#}2h z(u`OV#9U65G|et6smiFFmxPj>)yt~+9L8S6Vo_4n!6%CfA~O~*CQ8m(y8hnM=a}# zu`H0c&_h2P*h?)~eYw$nzWsf{Me&oXyKm-pZK6W+s|1?E1OW&@00Izz00bZa0SG_< z0uX?}#uT9M2<-0#K0Y&YHTlcLp%4|~djV3w1OW&@00Izz00bZa0SG_<0ub290+a*L zXyq52uDo&Z(i2ZUhIoOE{3pk`K>z{}fB*y_009U<00Izz00e9SSN{SxF82TWR{smP zmg!%h$=Eme9|%7s%_A>DT&d~#?e}YwyN6^%w*zp2v783*@009U<00Izz z00inmpwiP62zPXN&vqDX-vucri`B+&=e*z5`t4k^R?Xk6!}fxxPP1O;)k!&9ql@-Y zF`v(f*>P75YQ8SYrTx2&Qr0bcSkFM#m~jFAfH{kP`h z5zsxp--;J_NV{-T`o{Yz;sxsA;|S*n0SG_<0uX=z1Rwwb2tWV=5b(I-1s%@P`k!FEwPii6iuwzk`Suu>Agc@;l-M5HEmuf&VUE zAV8lnR=hy)x!_02`4?vqFR*@}ym)2^KmY;|fB*y_009U<00Izzz#SBzw*R2@y}&)+ zKYOL`^K3ap2he&4j{;8x0SG_<0uX=z1Rwwb2tWV=5P-mX2)ObHZvCk7{Fm>~Et5yk z>^M*w&tTR44hDl?FUlie1(+ZJ0SG_<0uX?}S_xEogMn~3>^+;cM>f-FKrpS@6##D( ztyTOx8#zsvin=f==h?tw1+ynN3O_e{jkChzsYIHjiflZz6n{KL1)47EWpe~HSNMFE z#n0@~)&RaH^#{jNT4p2f!_kH9gO8`&a{z<9Bu z-$C{_xW3sJO3r*=8dtw!R-G=<6_a(VIeA-6s$yT7?d_>FC)e>fg>;YKY{d(R zKeZlsx14N89>H4uGlKm<00Izz00bZa0SG_<0uX=z1pe0ou6Tit8PC=;?_KgP6ED!> zI3pU*VAb&gp}_2I@dAO_;GARsn1uiYAOHaf)U!aPu{jWqM7(DPjHZ^8c_ky}1+(Ka z*FwnE_~Kf%qE;BIE!)+EvPNCKEj_BzLKAE!JAiJ^S(Ey6+aL0W2O~@M=jJ+Fp~tn@ zf_MS5NfYq`c60^$9Zb63-WaElAK{|u)KDzJuA+n0e(hKTHpTJ85-EOwcY}?I+L$h$ zG^2Xx+J$%l#0zK(FNczyK7VCR~`BzRo_2$p#A4I={b@U3rsX_n(5P$##AOHafKmY;| JfI!^}`~@6dD+d4o literal 0 HcmV?d00001