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

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

[复制链接]

2

主题

73

回帖

726

积分

高级会员

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

2

主题

73

回帖

726

积分

高级会员

积分
726
金钱
598
贡献
53
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------$ ?% G, a! f6 Z& ]
USE msdb;
, d: }: \3 u/ j5 C# J3 HGO
& N* T, h- l$ d! v- S0 \. I1 a( Z0 w" V* U# u5 L9 X' w
-- 如果作业已存在,则先删除它
. Q: X3 S& v; U6 q2 AIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
7 q3 W" ^. _8 r" d/ O    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';) G, a: u9 n; e2 L! ?, V; M
GO
+ }# i- ?" _6 z( b; ~, _* w7 d/ r
. y. j" M. ^3 f% P% }-- 创建新的作业
+ b2 W. S# P  j$ V+ C, cEXEC sp_add_job 4 S! ]$ W/ W8 ?* R$ e+ K: Z& p8 _
    @job_name = N'IncreaseUserCashJob',               -- 作业名称. }+ l$ a2 W( ?5 o7 \/ `
    @enabled = 1,                                    -- 启用作业
/ S4 G; v' P  @3 |/ }    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
! j2 N* t; f1 c5 z* a% O    @notify_level_email = 0,                         -- 不发送电子邮件通知
2 ]" m4 u* R  H8 d9 ~  n    @notify_level_netsend = 0,                       -- 不发送网络消息通知
4 ]4 o- x; w7 u' H    @notify_level_page = 0,                          -- 不发送寻呼通知
1 I7 s8 A9 @) `* F" J- ^    @delete_level = 0,                               -- 不自动删除作业% \: {9 o6 q/ y( I
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述$ \+ X( a) g2 {* Q- S
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
1 R! D5 d( m/ B- e/ U+ T" |    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)$ U1 Z3 }1 W# d7 m5 p5 C9 D1 {
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员2 m& z# J: G9 T. e; ?
GO& J( M  i2 V( \: X9 F

: k* {4 f$ k. |+ |( W* e2 x, ^-- 为作业添加一个步骤3 s" L* W7 V1 ~! c: c. P
EXEC sp_add_jobstep
7 l' d5 e" i3 a$ ~6 K& b6 K    @job_name = N'IncreaseUserCashJob',              -- 作业名称
! W' |5 [7 M- B' u  h    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
# B$ @& t0 C# U* |+ Q    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
6 y* x+ @( F! ^+ s! _    @database_name = N'account',                     -- 指定数据库名称- _5 ^' @9 |" D: }# ]
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程). L6 B# p  e% a- I+ n- Y1 e8 F
    @retry_attempts = 5,                             -- 重试次数4 z2 w  r& F3 T7 V
    @retry_interval = 5;                             -- 重试间隔(分钟)
* |  M* B$ [* ~' SGO
9 \) M& F: F; ^/ h$ d
( O4 J: z6 j4 E0 ~. A3 f; {' h-- 为作业添加一个每分钟执行一次的调度, _" @# L: Y* r- q+ q7 i4 s
EXEC sp_add_schedule 9 _# P. g; e& B) b2 H6 d. k- Y2 f9 t
    @schedule_name = N'MinuteSchedule',             -- 调度名称5 q( j  @- i9 W2 P8 v0 v
    @freq_type = 4,                                  -- 频率类型(4表示每日)6 w6 P9 O+ f. |% L2 T/ ]; m
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行2 E, k( e- o0 _& J
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)& i: Z4 N2 T# O# P0 M& N
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)+ b7 {& x2 D  J, |% v. }2 |5 c4 e2 U
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)1 W4 \2 n/ c. J1 |4 F& \; z
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
. R9 c( I3 v1 |1 |    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
( e1 o  ]  j9 k! n0 H" C6 o* [    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
/ u! U# y4 e( BGO, L6 J, n6 q8 _! r
  F3 ~5 l$ p9 `5 z$ [
-- 将作业与调度关联起来: }+ w# M( Y1 j/ i+ H
EXEC sp_attach_schedule
0 J6 _) B  Q0 e    @job_name = N'IncreaseUserCashJob',              -- 作业名称6 h& _  |% ~( ?! ]8 x1 i' x. ?, w
    @schedule_name = N'MinuteSchedule';             -- 调度名称
+ N. V# A" T" J) _* Y, yGO
3 X+ v* T0 ]9 L& K8 X- [3 X
" g& }- i, x. ^- w; C-- 提交作业创建到SQL Server Agent
& F5 O/ u+ z6 ^. s& O' o( c1 x5 D5 A# TEXEC sp_add_jobserver * L, ?) x6 |) N3 S
    @job_name = N'IncreaseUserCashJob',              -- 作业名称9 [6 a/ j3 W3 k8 _8 \( I: _( ?0 Y
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
9 m) z. u5 n* P) bGO4 e5 A- W# r, `1 ?9 `( M  K

* q/ M& T' [' k; R7 F; o! E. v. ]4 m! {* w' r, `
7 n- Q( Z! R& a
6 G& U& Z8 \3 G3 N8 C
9 u' R) H+ Q% Y$ X; H" `5 S
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-9-20 00:18 , Processed in 0.055309 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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