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

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

[复制链接]

2

主题

74

回帖

744

积分

高级会员

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

2

主题

74

回帖

744

积分

高级会员

积分
744
金钱
613
贡献
55
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------9 [3 i  @2 h/ N9 m
USE msdb;" f7 ?8 T9 O8 W! a  P
GO' C7 _' n. ^: N/ F4 O: v
( {6 {5 Y0 M' E7 K
-- 如果作业已存在,则先删除它
& c6 y8 A! U7 H! f6 YIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')  c6 M" |# R, x$ A) n
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
) L- w- R  ]8 Q+ R  O# Q$ N6 U" tGO
" t* v0 e" I2 [, _: Z7 p' z6 v6 [3 @1 I7 \% _( V; y
-- 创建新的作业+ c8 ]5 l$ {6 N$ t& A
EXEC sp_add_job
4 z- B+ Z$ x( |+ _* a9 U! l; S& j: y    @job_name = N'IncreaseUserCashJob',               -- 作业名称
% Q, R) g% `8 w    @enabled = 1,                                    -- 启用作业4 V& L8 N, ]7 E1 c8 A$ I# F) m
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
. x4 b, T: t  b    @notify_level_email = 0,                         -- 不发送电子邮件通知
4 \! t5 X0 p1 V: b    @notify_level_netsend = 0,                       -- 不发送网络消息通知- H6 }; E0 V/ ?2 b, X/ t
    @notify_level_page = 0,                          -- 不发送寻呼通知: y0 l) Z1 ~& d5 b- [/ Z6 a
    @delete_level = 0,                               -- 不自动删除作业  i$ K, u  `' ]+ k0 n
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述' c5 U, e1 W# O6 c2 c
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
8 V( m; M6 y! c/ }0 t    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
+ k/ |2 K5 d: K2 G: c# ~3 ?  p    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员5 x4 U3 |7 {# Z
GO9 J# x/ ]1 H2 Y/ E; W

; Z$ ]5 |0 y9 c0 C, ]( U. f" H-- 为作业添加一个步骤
5 u: d! B3 Y. H2 i* vEXEC sp_add_jobstep
% u# Z; D9 W; u$ n    @job_name = N'IncreaseUserCashJob',              -- 作业名称
2 U5 O% ?8 n( V) l! _    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
7 d' z8 o$ ?! O( \5 k3 ^7 ^: X8 K    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
+ F* p/ \. I2 r1 d/ n, R/ _    @database_name = N'account',                     -- 指定数据库名称! _9 p$ B/ J5 ^. q% |; @
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
* v$ t  r5 i7 r* h& H    @retry_attempts = 5,                             -- 重试次数
3 L+ e" e( y& r" \    @retry_interval = 5;                             -- 重试间隔(分钟)5 \$ S/ p1 `' Y$ m% B
GO; E) {5 k% L. x2 Z4 }2 R9 G
2 {. g" W) G/ C3 Y! g
-- 为作业添加一个每分钟执行一次的调度1 ^' z1 i0 w5 g
EXEC sp_add_schedule 1 ?7 h, D7 n! J
    @schedule_name = N'MinuteSchedule',             -- 调度名称
0 T  O, [& E0 G    @freq_type = 4,                                  -- 频率类型(4表示每日)0 |, G. v0 P7 l4 q& z: t( t
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
) j0 n+ ]( G5 a0 f7 Z: [0 ~# N+ ]    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)( d. M/ U( R6 ?6 ]
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)- t% R, i3 v1 t% T/ h8 v0 h7 V
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD). k' {0 z2 t0 \4 R' {
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)+ [; e" \0 X. }8 K# @
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
. g. f7 ?4 L2 z, m1 F7 i9 C# W    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
; K. V) b; h0 ?- g3 b4 mGO  K& }2 j% B: U0 B+ y
% |5 N0 k: r9 [4 ^
-- 将作业与调度关联起来3 R" ?7 N7 D) |) ]1 O
EXEC sp_attach_schedule
5 u& C# @, S+ _; v: P    @job_name = N'IncreaseUserCashJob',              -- 作业名称
/ |* p* ~7 I  D) m  {" b    @schedule_name = N'MinuteSchedule';             -- 调度名称
1 B6 v6 x5 E1 P- L# R' {8 FGO/ }4 b2 I: X! p( [
, n5 |9 s5 F# A" D5 a2 ^
-- 提交作业创建到SQL Server Agent
( i- Y) ?/ x' h0 @8 k4 x: ]EXEC sp_add_jobserver . H1 x) o7 B. J
    @job_name = N'IncreaseUserCashJob',              -- 作业名称  z; Y# y. v' Q: _
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')+ D, ]' M' M$ w) g6 a2 s
GO
8 h; j) v( h* F' \- j" Q# J- m

- O3 n" l! Y% l5 Y- q# Z9 Q4 \2 T3 W& j1 c) y: \+ r! Y; {) |

/ n  t6 }9 P  z2 o/ U6 x! j, A
' [; y7 F# ~: q5 o0 ?+ Z; `
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-10-27 00:52 , Processed in 0.065944 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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