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

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

[复制链接]

2

主题

75

回帖

883

积分

高级会员

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

2

主题

75

回帖

883

积分

高级会员

积分
883
金钱
742
贡献
64
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
4 `0 O) Q* t" p- [, T/ GUSE msdb;: V( g: M+ G4 b0 d) M4 d" E8 E! }
GO6 P6 v+ @. Q: `1 M) [! `" ]  x3 `

$ J& ]' G  L: Y$ `) e3 K- g0 o-- 如果作业已存在,则先删除它& E7 @0 h/ c: o- V# b* d
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')! L- e! ]) Y/ d% e, S
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
. E! E" N8 s+ N2 @GO
( L9 i+ k2 x& H2 o5 s4 {/ N( U$ ~( l4 E* x, x! H$ K0 {
-- 创建新的作业
" x8 B# i% j0 n! M3 a5 AEXEC sp_add_job + |2 {& w" R' u+ e
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
: |; h, [+ i# c/ u2 t8 m    @enabled = 1,                                    -- 启用作业% I7 }1 `  C/ m  \1 z. a
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改0 T; j0 ^# n) _
    @notify_level_email = 0,                         -- 不发送电子邮件通知
$ N4 p- W, I8 G6 ~) v* Y2 o* F' I, X: ~    @notify_level_netsend = 0,                       -- 不发送网络消息通知
6 Q* K( p7 Z+ Z4 d. [2 ]% x    @notify_level_page = 0,                          -- 不发送寻呼通知4 q4 E6 \" @+ i+ _: k- k
    @delete_level = 0,                               -- 不自动删除作业
5 `+ `9 J7 Y3 c. n4 c$ Z' p) i  O    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
2 p2 O3 D  q$ |- v" V: U    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
6 u/ _4 G6 B! d+ R! R    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名); g/ N/ k# p1 V6 H$ r, X6 N/ f
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员& O5 l0 V0 J5 O' S" h/ T3 h& L
GO% h% W2 g+ a' s0 E

& y/ b$ s0 d2 P( Z# G6 e- }  Q  s  z-- 为作业添加一个步骤
0 x" A& `7 D; |* p9 YEXEC sp_add_jobstep
/ W9 L8 K9 r) G3 l3 B    @job_name = N'IncreaseUserCashJob',              -- 作业名称9 k+ q1 _8 e, q+ Y3 k
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称8 R& X! d/ D2 R5 j: @
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)  G% b" E4 c! U% S! d9 I' J
    @database_name = N'account',                     -- 指定数据库名称3 f7 c* ^" N% s4 b  k. ~8 s& ]
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
- s4 K+ D5 ?) J5 _    @retry_attempts = 5,                             -- 重试次数5 d7 q9 a8 e* i9 d/ Q9 b4 y) Y# s" g
    @retry_interval = 5;                             -- 重试间隔(分钟)1 n1 Z7 m) O7 _3 [" f- P& d4 s7 \
GO" c1 h6 L& P! \1 Q) E  D
0 W: F  u; t, E/ ]; b* r
-- 为作业添加一个每分钟执行一次的调度
: _$ {( R' K4 Q, ?2 dEXEC sp_add_schedule
% n5 S) n0 N! d9 j. k, S    @schedule_name = N'MinuteSchedule',             -- 调度名称
  L& l4 s' Z8 a& Z; d    @freq_type = 4,                                  -- 频率类型(4表示每日)( @& |; ?0 `8 [; o4 v( g- a% O
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行7 o4 ]* d0 H# k: F4 P
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
7 H8 p6 B/ X% B" k- P    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)) n: O& p4 `2 D0 A( h! i
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
& z6 @4 j8 ^3 j9 l    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
1 z$ v7 k2 O# L' n! W    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
+ h+ I9 O* d% y8 l3 n1 Y    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
6 `2 G7 w* P+ r6 Q" ]4 mGO
5 L+ h# i% K$ f, y# h+ W
* M5 l2 G) L5 l. ~" @# x5 d; H* i-- 将作业与调度关联起来- v: ?* Q- {+ ]! }3 L/ f
EXEC sp_attach_schedule
4 r& i. @4 `# t    @job_name = N'IncreaseUserCashJob',              -- 作业名称. B( T' A+ T3 x/ S8 Z7 H
    @schedule_name = N'MinuteSchedule';             -- 调度名称( ?) W% r4 }+ x0 d* @- M
GO1 N! b& W% y8 y7 x' K: u! |+ V
3 Z/ ^9 i! v' b" u
-- 提交作业创建到SQL Server Agent+ r3 I' E; m3 P, x( t+ S% r# o
EXEC sp_add_jobserver
" |% G/ i) R6 e* W- }    @job_name = N'IncreaseUserCashJob',              -- 作业名称
/ X4 Y% n0 n6 v, r  P/ y    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')7 D7 C3 W/ {+ @4 o- K
GO3 F( l& N# ~5 y" a, |5 h' P, R
4 Z. J6 W  U0 P3 _$ ]3 R; N
8 f5 b0 e6 m4 s

1 s- J3 I( k- D( Z* Q2 o* f8 S. |. h2 ]% y: c, H# w

8 t! D! c3 C, x3 t2 ~& ]$ p
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-31 06:29 , Processed in 0.031464 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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