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

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

[复制链接]

2

主题

73

回帖

726

积分

高级会员

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

2

主题

73

回帖

726

积分

高级会员

积分
726
金钱
598
贡献
53
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
/ {; Y; L4 A% R2 r- bUSE msdb;5 e8 v+ f/ p  s$ c% ]* j4 ^! y
GO
1 l7 O# @9 P' ]2 r  V" {) E
: _2 A3 u+ `8 l, d1 K0 v6 N5 }-- 如果作业已存在,则先删除它
9 M, T9 k2 F* K' V: M$ |IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')5 {) E, X  O4 y; Q& ~' ]
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';! l( v; C5 I* F+ w) u
GO' R. X) {) a: C2 u

3 j7 Z  |- T0 c% D8 e: d. g-- 创建新的作业
9 N( _, U$ l) R, uEXEC sp_add_job ' k  j# S( H7 s7 q8 t
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
4 X* c! ^0 l  C3 ~    @enabled = 1,                                    -- 启用作业
4 G4 g2 T3 @9 R7 j' b& I# O    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改" t, @8 D" u$ s
    @notify_level_email = 0,                         -- 不发送电子邮件通知1 M! V! J7 o8 {, Q* v6 h: E3 |
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
2 l+ Z( J! S$ t4 Q! P' J3 X, E    @notify_level_page = 0,                          -- 不发送寻呼通知
7 X+ Q7 H4 W/ b+ v8 z) n' E+ m' h. M6 ?    @delete_level = 0,                               -- 不自动删除作业% }8 Q7 ?5 ?4 G  p+ v8 k
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述# y' A" f% Z3 g! F3 O/ ]# f
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别4 X& K! \2 L8 o# m9 h
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
) q+ o' i8 Q8 C9 C    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员4 o6 H. {) s$ I% y% D
GO, B. x! t6 c* I5 d  _. b  n

8 }) M) A+ x. i6 n  }6 f-- 为作业添加一个步骤
/ ~) h: Q9 p+ U3 D3 ]- ^EXEC sp_add_jobstep ; D7 l7 J% h  H7 K# V: L9 _
    @job_name = N'IncreaseUserCashJob',              -- 作业名称1 P7 l( T1 d) P* X
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
* G4 e7 G% Q, t$ _2 ~    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)$ _! Z" f3 `0 l# }/ u. g! d
    @database_name = N'account',                     -- 指定数据库名称6 }$ R* i# q$ M4 u. H7 N
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
/ C# w4 g( N' o, }3 p% Z  {! g    @retry_attempts = 5,                             -- 重试次数
# a  Z% z8 P- }2 A6 Y6 h5 V    @retry_interval = 5;                             -- 重试间隔(分钟)
% t8 ]& H1 P5 X$ S/ y7 `8 lGO( i2 v  z' w+ k1 O

: k% }( I8 l" m) j! {6 q* W$ u2 I-- 为作业添加一个每分钟执行一次的调度. W& ]1 l5 I* |* V  q% d  |
EXEC sp_add_schedule
0 I3 Z$ v0 r% V) L, S- ]/ W    @schedule_name = N'MinuteSchedule',             -- 调度名称
  {- m" @8 ~2 P5 Z; R: O6 z    @freq_type = 4,                                  -- 频率类型(4表示每日)
. P" k% ?  S  Y4 x    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
' I1 }8 y$ k; K& h8 r6 \    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)& h$ a9 O6 u, c
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)' Y1 [/ P. o% i) a( A1 o, j! j' q
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)6 H0 O! X1 M- A8 p! G8 m
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
% p0 p& Q5 Q( d/ h9 J    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
1 }) f! s, J! W    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
3 G6 Y: D* N+ ?2 tGO  S3 J9 r# K( M; r8 u' k

+ g) n1 \3 w- J9 t2 h. ~: Y-- 将作业与调度关联起来
$ s7 A9 D7 M9 {, N- VEXEC sp_attach_schedule
0 z4 \7 }# a0 `& J; a) {0 Q    @job_name = N'IncreaseUserCashJob',              -- 作业名称1 B5 L+ x2 v& X3 n% s* D
    @schedule_name = N'MinuteSchedule';             -- 调度名称
/ X; U4 ]# b$ _4 m/ A- EGO
. z$ ^: A" ~( {! x/ C0 {! M/ g7 ^2 o. f  @, }0 z
-- 提交作业创建到SQL Server Agent
& L7 D9 U0 w% t5 X0 }EXEC sp_add_jobserver
# |% Q0 L5 |8 D- P1 J9 q6 i    @job_name = N'IncreaseUserCashJob',              -- 作业名称
. ]% ~6 p! x3 E0 v* t/ e    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')5 S/ m" x' w7 o/ W8 L% |/ U: ]; }0 y
GO  E" Y4 C  c4 b/ B% J

9 q2 R! J  r* Q3 t
5 ^0 ]: t4 _4 o! z, I/ N1 ^3 `# k' ?; a- o7 X+ Z
6 Q- u. \/ p# t. K+ |8 ]6 L

( x3 D! v5 w9 f8 h- z* U$ ]+ C
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-9-20 03:25 , Processed in 0.044188 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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