找回密码
 立即注册
查看: 3544|回复: 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作业计划每分钟运行一次-----------------------) W2 b2 ~7 D; x$ }8 z" M
USE msdb;
6 |8 @! P6 ~# U- [! QGO. T- Q8 P- J1 z9 Q2 ?2 M

3 {) L: j2 \' c-- 如果作业已存在,则先删除它
* U& t7 x2 C* D+ `* K* K& p8 u" ?IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')' D. j' i9 Z6 F, U
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';* j4 [$ o0 m1 g; x6 L4 W3 `9 a
GO$ j: Z- C6 v8 T8 q, c8 H
0 f1 G- ~: h+ @; d- E
-- 创建新的作业8 b3 K2 M+ I' T
EXEC sp_add_job . `  B  W! ~( W: ~
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
* j/ p, H/ S+ b+ H- z    @enabled = 1,                                    -- 启用作业1 P0 ~( z" G& Y
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
! f8 n: G  J/ {5 ^/ ^4 j' f5 P    @notify_level_email = 0,                         -- 不发送电子邮件通知
' I5 }6 d( ^' X4 ?  j5 b, }& y    @notify_level_netsend = 0,                       -- 不发送网络消息通知" w; I/ D5 `3 j! L
    @notify_level_page = 0,                          -- 不发送寻呼通知% C) j9 L2 g3 O4 n
    @delete_level = 0,                               -- 不自动删除作业
1 `1 P; V/ V& i! T+ b- \4 S1 M* ^    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
2 C+ ]# e- \) F8 H9 r    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
  e. A7 Y+ ^9 Y: a  D4 `    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)1 u  B0 }9 S' y. a! S
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员4 a4 W6 [4 [/ [# b  K8 ^" |
GO
9 W" c4 e! j+ b" b3 D4 y+ ^* j
-- 为作业添加一个步骤" V2 f: R8 E" m& G
EXEC sp_add_jobstep
2 o1 |0 J( i* w' Q5 C* ~    @job_name = N'IncreaseUserCashJob',              -- 作业名称. Z6 r3 z, g3 G# e8 C7 G! C! ]
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
# B3 U$ s  Q$ U4 Z0 W2 z    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL); w9 p+ ]1 `7 V/ w) j
    @database_name = N'account',                     -- 指定数据库名称0 E/ [6 E, S( i! [; ?6 Y
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
' s5 Q4 C( H* U0 y" P8 P& l  i" z    @retry_attempts = 5,                             -- 重试次数  H  X4 X9 i5 _* R: U9 P5 f
    @retry_interval = 5;                             -- 重试间隔(分钟)! F- L7 Z, |, [- t8 c. [
GO
+ _3 D& t: E, L7 [( m. A+ H+ R# V, F- s! h( P. N4 u- S3 D
-- 为作业添加一个每分钟执行一次的调度- k/ u3 P$ T( B8 S1 v
EXEC sp_add_schedule
0 k$ G& s/ [* T    @schedule_name = N'MinuteSchedule',             -- 调度名称
' i9 G- z, M/ V  F- F. U/ {0 x    @freq_type = 4,                                  -- 频率类型(4表示每日)3 @/ a& E! K+ z* p  y! B
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行* p% _4 T3 Y9 U+ K. G- J
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
0 _+ q3 g) Y* w9 j' `5 `    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)- o7 R- Y0 _! Z- f' [( H( I
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
2 v+ A6 A" ], \7 |8 h    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
8 \" U% ]3 {* w$ P- k! l    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期); A9 i# H; j2 Z( b7 ~* A* |; }
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
2 I1 M) ]) C0 u  JGO5 d  S) l- B$ t7 {( `6 s
& B9 O) g$ t* b- h
-- 将作业与调度关联起来% l" L' r, G7 v; ^
EXEC sp_attach_schedule ; d- y! J5 m0 ?
    @job_name = N'IncreaseUserCashJob',              -- 作业名称1 S6 J- x3 E: D; w
    @schedule_name = N'MinuteSchedule';             -- 调度名称$ o% N9 ^' m# D+ p5 S8 a+ u
GO7 r7 N) d  _* J3 a$ C/ Z

3 O# p# @( G( R-- 提交作业创建到SQL Server Agent
7 S, y/ t( G/ P. ^' dEXEC sp_add_jobserver ( i6 L+ m6 c9 T/ t; y
    @job_name = N'IncreaseUserCashJob',              -- 作业名称5 D0 m$ @& |6 c9 E/ ]2 N6 ]6 v
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
8 V- A" U# W0 u$ p2 w( Q4 R3 ?4 C' ?GO
( ~& i5 x; E) k/ X9 y5 [2 k: R: b# o$ [& m/ G
) r6 {9 U( l3 E

8 C, k% ^+ M7 p  |5 ^
8 {7 f* [! D0 Q/ ?9 J0 q# p* e5 t3 i5 y6 M# W
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-10-26 05:44 , Processed in 0.077335 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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