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

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

[复制链接]

2

主题

75

回帖

841

积分

高级会员

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

2

主题

75

回帖

841

积分

高级会员

积分
841
金钱
704
贡献
60
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------: R- D) [  @& N
USE msdb;
3 X6 a* Q( A4 X' }( VGO% T2 ]4 A6 K% k! ^+ B
3 ~/ d  [% P7 ~# ]* H
-- 如果作业已存在,则先删除它
$ e9 o0 T+ p. v  iIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')' e/ T& d0 R4 Z
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';# \) C. Z; r& m$ }. f1 R  W7 k8 |5 B
GO
$ x+ \& K( @3 O4 I0 T6 g% L" ?) D& Q  ^
-- 创建新的作业
) T. X0 r. ^* d& W5 a5 R' ^- bEXEC sp_add_job + w1 U) Y! E, Q
    @job_name = N'IncreaseUserCashJob',               -- 作业名称: [& |7 g- j! \0 N5 _9 J
    @enabled = 1,                                    -- 启用作业* `! o9 i7 I" l/ R: d3 w6 Z! G
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改( V1 l3 O4 _7 j* M: w3 p
    @notify_level_email = 0,                         -- 不发送电子邮件通知
7 t! i' b- ~& o2 _2 ?2 O    @notify_level_netsend = 0,                       -- 不发送网络消息通知/ ?3 N; B. o: q# e( T
    @notify_level_page = 0,                          -- 不发送寻呼通知1 J5 p2 W. t& h9 B& P* u% \3 X$ X
    @delete_level = 0,                               -- 不自动删除作业
2 n& R6 y8 t- v! h0 o2 z* W    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述6 F+ f5 G7 ?: ], |
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
# H2 X% @% c7 z; G1 M    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
" N1 {) A* R( a! H    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
9 Q5 N" d/ l) u" {+ ~9 eGO$ Z; Z% P; w0 {7 I2 e* f( q
0 `+ y- h0 y% I1 T- h+ S" d
-- 为作业添加一个步骤/ s8 g# U6 o1 B% X. f
EXEC sp_add_jobstep 8 {& F/ o( x3 Z6 E, Q: V
    @job_name = N'IncreaseUserCashJob',              -- 作业名称( M2 P$ T( O! x
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
( V$ ^5 z9 }+ W! q3 w7 v% j    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
+ M. ~! D: h/ v( L    @database_name = N'account',                     -- 指定数据库名称5 D5 p6 I, m7 d. d, ]* u
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
- w  |( T8 c  n. e0 r6 w( p    @retry_attempts = 5,                             -- 重试次数3 J/ Y9 @1 s  u
    @retry_interval = 5;                             -- 重试间隔(分钟)+ b' I% Q0 E/ i
GO
$ ]- Z" J/ V, \
0 V# e6 s7 q1 r6 O4 o5 p1 I! h: A-- 为作业添加一个每分钟执行一次的调度1 D! U, S# a0 n2 b) U2 ^1 ^
EXEC sp_add_schedule 2 y. s2 ?6 }( j$ ^4 i6 H0 X5 F
    @schedule_name = N'MinuteSchedule',             -- 调度名称! z, g. M8 m/ E% F, _" b
    @freq_type = 4,                                  -- 频率类型(4表示每日)7 s9 x& I5 P: X! W0 A) Y4 ~- N
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行! i6 \* y9 J& Z
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
8 H/ W' Y* E3 W% V    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
6 D5 g, r: E. z* A4 P' S3 ]7 ?) p    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)! g$ M; y+ @7 C0 M; l4 F" m# g/ ]
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)+ e$ R1 u2 i1 r5 L" o& W: Y( M: f
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
/ h) E! u* B; b9 p4 z3 |/ C    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)  o% k+ {* o6 n
GO
8 g& C3 W- @- c# F" M
7 F5 s) @. z" _& [6 h-- 将作业与调度关联起来. P6 b; P+ l8 J8 H- j4 B& W4 J
EXEC sp_attach_schedule
8 }" U0 k# p; B6 g7 v2 W) I+ ?    @job_name = N'IncreaseUserCashJob',              -- 作业名称8 H- z, L( Y8 l# N
    @schedule_name = N'MinuteSchedule';             -- 调度名称
# l" g- @6 P- N  K1 H6 }GO
8 ?  A. r$ U/ w7 m) n7 J" t4 a6 ]9 k/ K& H0 v
-- 提交作业创建到SQL Server Agent) O4 y$ J! z0 a6 l0 ~5 I
EXEC sp_add_jobserver ! |. X. N- W7 Z) [0 t$ b7 I" d7 o
    @job_name = N'IncreaseUserCashJob',              -- 作业名称% p% P- O" U5 i7 P; G4 P2 A, T$ I+ I
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')2 @1 o# E" _: x' e) z2 p
GO
9 i# L+ t* W' w3 S
/ b2 `  J' G4 K( e1 ]
' m, ^6 U3 p4 |4 c& B' F8 `5 y  Z9 s9 a4 @
. c. Q; o  P! j; ^9 }
: i  S1 u1 N6 r$ h' a+ F& E/ ]8 }/ E# ~# [
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-20 18:32 , Processed in 0.061333 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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