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

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

[复制链接]

2

主题

75

回帖

786

积分

高级会员

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

2

主题

75

回帖

786

积分

高级会员

积分
786
金钱
654
贡献
55
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
3 L) z. L6 U- z) kUSE msdb;! J! f6 D) p8 E) r
GO6 R( m) m* j) k
0 [6 N; w# ]: x5 {) S- ]
-- 如果作业已存在,则先删除它8 T+ ~" }3 y" j+ |1 X2 F
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')* _; }+ W5 B4 p# i( z- L  S
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
6 I( e( R- v5 l3 h/ @GO
- {) B/ z  c+ r; U1 I4 T3 i9 Z0 L
-- 创建新的作业. T0 {, f+ V4 ?; ^; I) {
EXEC sp_add_job
5 b$ ~: \: s  q9 z  }. Z0 K3 v: J) i" q0 {    @job_name = N'IncreaseUserCashJob',               -- 作业名称5 Q3 q  ^! E# D7 q8 c8 F
    @enabled = 1,                                    -- 启用作业
' B& l4 P" j' f: }    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
8 P! z" H8 H7 G9 E    @notify_level_email = 0,                         -- 不发送电子邮件通知' W! v0 O; O1 Q" L
    @notify_level_netsend = 0,                       -- 不发送网络消息通知$ \0 m+ A3 y6 R! U: G6 Q
    @notify_level_page = 0,                          -- 不发送寻呼通知5 K/ H7 \+ k" c* [
    @delete_level = 0,                               -- 不自动删除作业
0 q( C1 j+ E. o# o1 d4 Z& G& H1 d    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述! E. n0 J& [* L
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
" s$ @' `  E' |/ b8 ?& }    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
& V& q3 L. T/ K; F9 J2 L3 T- i0 f    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
- y& K& L5 _0 `% @% ~# V- LGO
( h: e0 K* [8 w
' X' ^6 ]. [6 ]0 J-- 为作业添加一个步骤
! e5 x% l4 j- c6 i5 v2 c' nEXEC sp_add_jobstep
- \4 ?- \7 ^+ k    @job_name = N'IncreaseUserCashJob',              -- 作业名称
( ?$ N- Q: |% s9 p% |2 D    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称6 ^4 G3 y- H7 n- f# V
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)9 o+ s: A' Z8 c: A
    @database_name = N'account',                     -- 指定数据库名称) {3 ?1 `; U6 i: L
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
3 Q' ?0 \) `- I# I& I& x    @retry_attempts = 5,                             -- 重试次数
+ }& J- y7 s6 l+ x4 [- d0 f    @retry_interval = 5;                             -- 重试间隔(分钟)
& x, C! b0 b/ J+ B+ Z5 z. X: BGO: I) w* S/ L. l: ~% H7 Y

0 z9 d8 d1 O9 e. A) C: l/ r: A+ ~-- 为作业添加一个每分钟执行一次的调度
8 A  Q0 |; q; G3 gEXEC sp_add_schedule $ R7 J; p  E' \" u' r. |
    @schedule_name = N'MinuteSchedule',             -- 调度名称$ o; X" p( \" n, S4 ~
    @freq_type = 4,                                  -- 频率类型(4表示每日)
3 P' A$ L6 p% b( p* M    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
0 \( y! K7 p$ c& B5 m& [    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)4 o& L5 O# F- M" E( Z; P
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
) X5 x3 g) N! q4 h  u" P/ ~' p  G    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)0 h' K+ P' Q  ~6 y3 F  J
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜); F' J% D; s) p. z2 `5 o
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
0 {" r# @' J1 n$ D5 ~- T  }    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
: F4 ?: B7 \" o! \& f0 wGO
- C0 }  x7 |& G0 u
5 s% P1 X6 g* z% M) `- B-- 将作业与调度关联起来
8 F: D+ y+ {' g; f) ?5 ~' nEXEC sp_attach_schedule
+ M$ u2 y  J2 _* j: C    @job_name = N'IncreaseUserCashJob',              -- 作业名称: O. K1 _6 n, a$ D
    @schedule_name = N'MinuteSchedule';             -- 调度名称
9 I  a9 ~2 x% s; C7 nGO, B) X4 o3 k5 s  z7 S, w

# j$ K& X8 m+ D+ N& c; N3 O- D-- 提交作业创建到SQL Server Agent
* n" z7 f, j1 uEXEC sp_add_jobserver 6 b* \' b0 B3 \, o# m* W
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
! D9 R# I8 L; u, M" ?" d! Q! I    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')0 |4 V; }5 U' S0 h) x+ F
GO" A5 Z  H1 {4 p3 A$ Q

# Q3 ?& N" o  u! X
! o) Z. i: R0 R2 V/ @; }" U% y1 G9 u, Z/ P! N' x
! m! _4 p6 X. y. O- }9 O

% A% T: Z6 J% \2 N
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-11-25 00:26 , Processed in 0.062411 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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