找回密码
 立即注册
查看: 2901|回复: 1

[技术文章] 泡点每分钟增加1商城币并实时更新商城点数,13职业端测试可用,其他未测试

[复制链接]

2

主题

75

回帖

883

积分

高级会员

积分
883
金钱
742
贡献
64
注册时间
2024-9-13
发表于 2025-1-18 17:03:06 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 贡献 才能浏览

2

主题

75

回帖

883

积分

高级会员

积分
883
金钱
742
贡献
64
注册时间
2024-9-13
发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
5 L! I& c2 r- T1 {USE msdb;! _1 o. n; m$ ^5 N$ U7 U9 j
GO$ s% Z, F0 e  X  P' o. J1 T$ I* l, W

" a# k! `; ^/ U$ x& K+ H- q0 @-- 如果作业已存在,则先删除它
/ c3 d) `( k2 \- ?, t# CIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob'). `/ M! k; Q1 f) e, D. E
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';% _- ~# d1 l( R' N6 U8 R
GO
% v# g: `( c( ^& q/ C
; _; y1 J3 T% s6 w0 z  m- J' `-- 创建新的作业( B" A6 L5 i! Q! g2 S& i
EXEC sp_add_job : j( e5 @0 U3 n# l+ z2 u5 u/ R! ]
    @job_name = N'IncreaseUserCashJob',               -- 作业名称6 x4 w( V$ _  ~6 C, @2 ^
    @enabled = 1,                                    -- 启用作业. j$ F6 X: ]* y- C
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改7 }$ t' a5 L6 p2 n
    @notify_level_email = 0,                         -- 不发送电子邮件通知
/ P# S" L6 m7 n( c  W. L% x' \! m    @notify_level_netsend = 0,                       -- 不发送网络消息通知
, ]; {& a' }0 D5 K1 Y; s- K2 u9 z    @notify_level_page = 0,                          -- 不发送寻呼通知
0 V: b( m4 Y; d+ V8 J# ~    @delete_level = 0,                               -- 不自动删除作业
; O3 C  R, F' w- c1 w9 b: U( k. i    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述  s& q: }; w8 h8 b: R% ]
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别( F( z& q, a2 x& l
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
0 B  u, s: A: J, G9 K    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员& y- A  S+ ?8 B4 `
GO
5 I0 ~7 p3 b8 q* C& f7 h9 X5 s% T3 N7 x9 g. D
-- 为作业添加一个步骤
1 h/ r" I9 ^( z2 [- ]9 iEXEC sp_add_jobstep
) P% W% \7 M+ P( @9 X) ~: K! a    @job_name = N'IncreaseUserCashJob',              -- 作业名称
2 {" U, @* ]/ j  ~) Y1 u    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
4 r: R/ u3 M, n( W1 z. h* x+ H    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
1 Q1 B8 q  K3 ~. m; q$ e* G. k' O    @database_name = N'account',                     -- 指定数据库名称- U$ N0 J, c! h# ^  y/ d2 n' A$ a2 [
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程). z; m; H( ?+ ~, }
    @retry_attempts = 5,                             -- 重试次数( Y: V7 B1 ^  o/ s
    @retry_interval = 5;                             -- 重试间隔(分钟)
8 P3 a: Y, B; E/ ]1 VGO
; }+ O/ b& p8 l9 \: z$ T/ l9 h$ e( B9 Z, X
-- 为作业添加一个每分钟执行一次的调度
4 w; w' ^' g% D  G! P; W$ pEXEC sp_add_schedule 3 R; j7 O- I- i! f
    @schedule_name = N'MinuteSchedule',             -- 调度名称/ g) b  j7 Z, Q
    @freq_type = 4,                                  -- 频率类型(4表示每日)
+ y7 m# l" j; G9 O4 N    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行! h/ v* Y0 r7 y
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
9 [6 V3 J' m+ H    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)' d. ]" R; Z5 f7 B
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)9 N3 v, E, q  Q
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
7 Z" W. w; Y! w# q, g: {    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
: I0 Y: f) D$ q: S' Z. N    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
' n4 E; s, z) [$ b' }" KGO- H2 S) S- o" {9 T7 ]6 d) E
+ d) E0 M, a3 l' l7 L: J" F
-- 将作业与调度关联起来9 p5 ~2 ?3 K6 t
EXEC sp_attach_schedule ) i1 T$ ^% b, A& P. V
    @job_name = N'IncreaseUserCashJob',              -- 作业名称+ W4 `/ M3 {7 s3 H+ `0 |
    @schedule_name = N'MinuteSchedule';             -- 调度名称
8 }2 u  {; g6 M4 V6 T8 S& SGO
; b, Q' Q1 z7 S- I- v; k& C! u
! }, V' o! q3 l) r  ?-- 提交作业创建到SQL Server Agent% [2 m$ q, T0 k0 j' l: L4 m: w
EXEC sp_add_jobserver
" y! H, w  N# u+ c, ~8 ]( S& o    @job_name = N'IncreaseUserCashJob',              -- 作业名称
7 h! p3 D2 x7 _1 V    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
$ ]1 B: G1 ?7 B9 q. t, A- ^GO5 O3 w8 @" d! R
; e, I* ?2 g, k% z

# G- y8 z! `- D6 e- W, m
1 u3 g3 x: t. \8 P# s7 J7 j8 D) B
) I) h; J8 Y' a0 ]3 u# \2 m& |2 q+ r
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-7-3 09:07 , Processed in 0.322972 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表