找回密码
 立即注册
查看: 2827|回复: 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作业计划每分钟运行一次-----------------------2 o. N& r' }# u% U$ H
USE msdb;
3 w* d& v3 e' mGO% Z( |4 M- k# _- |

/ V5 z, ?1 ~& t- t: I# |, G2 n4 `& \-- 如果作业已存在,则先删除它
3 A* ^  X9 d: AIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')0 E# a4 O' M% s
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';; O& u# X2 L7 J. ^, S* x4 h9 T
GO
5 |  T7 i9 m& }$ n2 ~: T% V7 N
- s3 E1 O+ ]- @: U-- 创建新的作业, M- s7 h& f+ h8 I& g& G
EXEC sp_add_job
/ r4 @: ?% Z  y0 d- ~    @job_name = N'IncreaseUserCashJob',               -- 作业名称
9 k0 j5 S% t& j' q9 f    @enabled = 1,                                    -- 启用作业
, _$ e: X5 h& S* G    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改0 q6 k: u; s" W( Q# G3 ]( M
    @notify_level_email = 0,                         -- 不发送电子邮件通知
7 R8 U/ c7 p' M0 L& U# v" A' f    @notify_level_netsend = 0,                       -- 不发送网络消息通知0 [5 J  J: u9 g
    @notify_level_page = 0,                          -- 不发送寻呼通知$ C/ p6 ^/ I; y8 a4 m0 h9 ?
    @delete_level = 0,                               -- 不自动删除作业- g1 S/ x$ d  U
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述7 M8 x" i/ D1 I
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
1 \9 `+ j8 p& j( M    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
: n( p. n( _) e4 _    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
7 v) h& x! y( [. p6 v  N( uGO
: H# [  q( E/ b* Y- U# g6 d% D% B' B; F! X3 F- \
-- 为作业添加一个步骤- e# r' T; r( C/ T' ?" D  V7 r
EXEC sp_add_jobstep ' U7 q! Q6 |5 U2 e
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
, x- |) m4 Q# O& F    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称2 u6 w6 O4 ?1 x$ g1 \
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
" q0 _" B2 t3 e7 o! j2 W" O& G    @database_name = N'account',                     -- 指定数据库名称
6 U4 {- g! C' \$ B* v    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
8 }  x5 e. N: X9 Q    @retry_attempts = 5,                             -- 重试次数' Y0 P, u5 _" C/ x
    @retry_interval = 5;                             -- 重试间隔(分钟)2 v% l  n4 P2 m
GO
5 y0 U; F# Q5 k) N+ [7 Y  P1 K4 ~* R7 a
-- 为作业添加一个每分钟执行一次的调度
2 X( i1 }6 A5 [" \- l6 SEXEC sp_add_schedule 7 P, c6 N8 S3 a" x  V/ n: M
    @schedule_name = N'MinuteSchedule',             -- 调度名称& r2 j  J- U7 h1 l
    @freq_type = 4,                                  -- 频率类型(4表示每日)
0 _5 D, o" D& A1 S- N3 p    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行0 `/ h4 `% X* n( ]
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)3 w% f! S* K+ I: D- W/ o2 ^
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
/ ~; k) [" ^! d& x! {' W' F' U0 N    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
) J. m6 a6 q0 G% Y( k+ \    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)2 D* Z% ^0 s) ?, A0 s3 t
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)1 ]7 G" ?! S* r( O  ^; p
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)8 T  M* b) X2 p3 V4 `; F9 z% }/ e- W- i
GO
8 a' w! Z! n7 i" x7 V! t& Y) |* ?, B/ s5 |1 A8 x) ?
-- 将作业与调度关联起来
' |  w* [# D* H, gEXEC sp_attach_schedule
9 x% D6 b! N- N, I    @job_name = N'IncreaseUserCashJob',              -- 作业名称- {' q/ o; k$ A# S8 }
    @schedule_name = N'MinuteSchedule';             -- 调度名称) S1 ^0 n5 S0 S5 A& ^% |
GO4 v' k8 G. i& F7 p. ?

2 F; K9 P+ z2 Y-- 提交作业创建到SQL Server Agent
0 Y: p4 Q5 e5 Y9 ]) b& S: \& X+ GEXEC sp_add_jobserver
) \: R2 X- L# ~# }; h" x* x    @job_name = N'IncreaseUserCashJob',              -- 作业名称
  Z! `# m0 [; w, [4 T3 x    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')9 g* N3 Y& ^9 |- L
GO- \/ N' C0 |1 R; s, R

( k! I( b/ L; @; v  m& J; F
. B( Q7 b/ W: G8 s* B9 w. i/ i- N* \3 Y

5 `7 o3 Z$ L" d) ?. p! w9 R
; l- N* G  Y+ f3 G, ?+ A  T5 L# s
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-6-23 09:43 , Processed in 0.042663 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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