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

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

[复制链接]

2

主题

75

回帖

870

积分

高级会员

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

2

主题

75

回帖

870

积分

高级会员

积分
870
金钱
730
贡献
63
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
' W. U( Z: b+ l% o( N% E) kUSE msdb;
8 l$ _; r) n/ LGO* |, v; j  O- v
+ n/ `) n0 Z6 w2 u6 b# i! F
-- 如果作业已存在,则先删除它
  P. U- s! g$ j, C" GIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')5 S( y; {& E2 s8 @0 Z
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
, [/ {- i; k5 x+ o# CGO1 n4 }7 F" w; i8 W* {( b  Q* E9 i+ G

6 H9 V! K5 g. ?# ~+ ]-- 创建新的作业
* d* a8 ?. g+ k0 g, a* cEXEC sp_add_job ; Q, B( ]0 O6 ~) n7 @) ?
    @job_name = N'IncreaseUserCashJob',               -- 作业名称: F6 s/ M8 H& A7 ^! a
    @enabled = 1,                                    -- 启用作业
# ^8 ]7 i% J, S2 ~    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
* W3 F' x- R& q8 e" O    @notify_level_email = 0,                         -- 不发送电子邮件通知
7 U3 X. Z( y& ]# Z    @notify_level_netsend = 0,                       -- 不发送网络消息通知5 G) X7 r3 Z* B" d6 F+ s% H
    @notify_level_page = 0,                          -- 不发送寻呼通知
7 P+ H, w+ u5 V8 \    @delete_level = 0,                               -- 不自动删除作业
& N& z' f) z# G/ Z) g' W! k1 [    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述4 w- l( Q/ K; q+ e' d# }% ^
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
- W: q: P# K3 o1 U' b1 c/ F    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)& `' T6 Z( k" S3 ^
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
- M  U0 G) E7 ~2 [! k7 l1 q8 l% iGO9 ^) G# u6 C% {2 k, s* o1 b
5 G1 x- ?* n; X, _6 B+ {
-- 为作业添加一个步骤4 [) I: ?5 H# _6 p+ {
EXEC sp_add_jobstep ! F: c/ r8 k, J2 U. H* B
    @job_name = N'IncreaseUserCashJob',              -- 作业名称9 w6 K* P2 e. u* W: N
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称8 Q- m0 u9 s8 J+ |
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
) }8 e% G( ~% Q% C    @database_name = N'account',                     -- 指定数据库名称
7 i% Y9 R6 r+ Y. T  @3 L    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)4 x- t1 A3 m- C& Y1 A: ]( C0 q
    @retry_attempts = 5,                             -- 重试次数! H% g6 Y, S! W1 {# u9 B* e
    @retry_interval = 5;                             -- 重试间隔(分钟)# y3 M: V! [3 a* ]1 H# Z
GO: G$ o! O$ D7 S/ u

) i' ]1 m/ b" N-- 为作业添加一个每分钟执行一次的调度6 _5 i3 k( _( o
EXEC sp_add_schedule
1 Y0 b% y8 V# O3 Y1 P/ |7 r6 X& @; Z    @schedule_name = N'MinuteSchedule',             -- 调度名称
$ c- N" ]1 S" q& w0 [    @freq_type = 4,                                  -- 频率类型(4表示每日)  A& i$ ?8 V: _4 j5 V! P7 v
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
* n! R. ^& ]; v  \    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)9 `- a5 N* A- G0 j* s% w1 @
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)8 \9 T( b* {: {3 K& w
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)% Q% P( e( p' }+ I. l. n+ R# P$ V" ]
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
: r& y9 X5 J4 E& J; D: H    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
0 i% X& R! Z5 m2 {3 R/ q, ?    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
, r& c* d2 M* ^  B7 t2 D+ MGO9 [- Q6 E$ F8 Q8 ?/ I" S" y
' p" r) l+ {8 h' O) M; K! ~0 h
-- 将作业与调度关联起来4 k1 |! G& ?0 h4 U
EXEC sp_attach_schedule & B- a* N3 q* z
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
8 U; b2 u4 a. J3 i* c1 e8 k# T) l! q# R    @schedule_name = N'MinuteSchedule';             -- 调度名称
) ^" i/ G" c2 I; |" ]$ u( XGO( |3 B$ ?6 F. H  D" w9 _  @4 y

5 }4 U, Y7 J9 c6 }! l8 K8 w-- 提交作业创建到SQL Server Agent! S9 L" J& C, C+ e
EXEC sp_add_jobserver
7 Z% Q" W9 J1 v+ T    @job_name = N'IncreaseUserCashJob',              -- 作业名称$ k8 ^( N* ~& |% S6 e$ ^
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)'), [3 g6 g. [/ E5 }. g. V9 }
GO
/ ]  J) [/ g# K* K
0 m2 q; C% H2 U( |
7 \0 i3 Q2 ~( i2 F6 Y$ A* o8 i/ Q! }" D$ N! B3 z4 }2 N

4 T- D( C! \0 ?! ]( X/ B, L" v* O: R6 @
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-13 22:22 , Processed in 0.032320 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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