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

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

[复制链接]

2

主题

75

回帖

891

积分

高级会员

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

2

主题

75

回帖

891

积分

高级会员

积分
891
金钱
742
贡献
72
注册时间
2024-9-13
发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
. f" U6 m3 w3 H: }" w: EUSE msdb;
' j# \' ~& f5 u% S1 x+ a4 ZGO1 w) x+ A" X6 R% h& K# t
# C6 _/ {& P  r* S
-- 如果作业已存在,则先删除它
8 L  @- r7 e0 E7 c* d0 n/ F( bIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
, I2 D$ T3 w0 L0 K    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
$ {  S* \, {+ ?/ v: N& ~2 y. CGO
7 E+ P) X! G9 h9 t) T! @$ f
. q; G* t( \( a5 p: j" |9 K" u, b-- 创建新的作业
. h% i0 G6 ~- `  i; QEXEC sp_add_job + P: r) Z2 W3 d: n+ m# X' V
    @job_name = N'IncreaseUserCashJob',               -- 作业名称( l' T" s4 `+ i" s8 r8 n* q3 N& }6 }
    @enabled = 1,                                    -- 启用作业' U2 ^$ |, m( N7 K
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改- D5 I0 I! e. ~( q% Z% @  U
    @notify_level_email = 0,                         -- 不发送电子邮件通知+ h3 U8 v- P0 E4 [. f7 O
    @notify_level_netsend = 0,                       -- 不发送网络消息通知9 d( _3 T5 g; e/ X: ~2 N
    @notify_level_page = 0,                          -- 不发送寻呼通知9 e9 z  X" u- ]/ [
    @delete_level = 0,                               -- 不自动删除作业0 r5 h, _2 I: Q) {% v7 i4 y- O
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
  u$ l$ i3 y# E  P' E; [    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
3 v/ K3 u9 w+ B' Y) ?" M, t    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
4 b) A% ^7 G5 e    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
2 X) n) v( u' p, O2 aGO" M9 [; L2 Y. J# @# O7 M
' H& n; p2 z) o9 W6 g8 ~
-- 为作业添加一个步骤
/ B  z0 ~! X5 c% ?EXEC sp_add_jobstep
& }' A- `& l+ o* b' }6 K7 `. x    @job_name = N'IncreaseUserCashJob',              -- 作业名称
* z- z* |# J1 F  p6 G) {6 ~    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称7 c2 y" R+ g2 L+ S4 k+ V8 H4 P9 n
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)0 j# ]1 W' h$ J' R! T1 ?" E
    @database_name = N'account',                     -- 指定数据库名称
. @' g- H, }' `  N% t    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)0 c6 Y! S- ~* ^' q4 [/ T
    @retry_attempts = 5,                             -- 重试次数
# S) y; J! ]8 A2 I! Z  {    @retry_interval = 5;                             -- 重试间隔(分钟)
0 W# N1 v! Q, bGO+ Z$ a1 s/ y# ~( f  I+ l/ F- x

! w0 y% e6 w4 |-- 为作业添加一个每分钟执行一次的调度
$ G3 G2 Z- o" E, M( @EXEC sp_add_schedule
) c. H; L+ F# Z- |% g/ V' x& I. u4 S    @schedule_name = N'MinuteSchedule',             -- 调度名称
& W, c0 ~* V6 W5 y& W    @freq_type = 4,                                  -- 频率类型(4表示每日)
4 ~/ N) t5 J. _% _- B/ i' L/ m    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
# ~; K' s, s' @    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
4 }+ g# A, l0 F8 V8 l2 Q  ]1 B# V    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次): T$ ], z- u) M. E! \4 e$ u
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
/ P% z1 {$ x, q# X7 o# [, T2 K    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜), L2 t" i7 }' T$ z
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)- b( P& M( ~& p, l" k( N' f5 B$ W: i" o
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟), @% t3 {- B0 B3 j6 B; f
GO( d* P4 P( y- P7 _( G5 ]: _' ?' j. b7 J, T

9 @0 l) v( [# C-- 将作业与调度关联起来% q0 {( K4 [% \3 @
EXEC sp_attach_schedule
, @' t  Y( ]1 e6 ~# e" ]    @job_name = N'IncreaseUserCashJob',              -- 作业名称3 d9 M5 I5 N! r3 S7 j8 E  ?; M- |5 S3 N
    @schedule_name = N'MinuteSchedule';             -- 调度名称2 Y/ I% Z7 E& z% e' I' K" O
GO2 T# k9 x1 M* p) a2 z9 ^7 p) \

* J, w6 ]) a5 Z-- 提交作业创建到SQL Server Agent
* a! ^# v& }( CEXEC sp_add_jobserver
+ `  [1 L( W% Z    @job_name = N'IncreaseUserCashJob',              -- 作业名称4 @( o+ [# @* y7 C7 r4 p
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')3 U# {) ~8 j4 H' s& d8 N' m
GO( ^3 c7 J3 |# Y" d6 T

3 r! t/ F, j" j: f* I1 r/ p# x# P7 D( o& o" B" G

0 L) b! s. L" k6 r( n$ r- v% K& g: T2 F; A: t$ v
, c( N9 ^; I; p3 D
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-11-10 08:28 , Processed in 0.058145 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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