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

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

[复制链接]

2

主题

72

回帖

546

积分

中级会员

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

相关帖子

2

主题

72

回帖

546

积分

中级会员

积分
546
金钱
435
贡献
37
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------. j/ T' x; w, m. V
USE msdb;1 c" }7 _2 ?) M
GO
+ F- L/ g4 `! ?8 z" F4 [' F: K
4 a; L3 g8 B3 C8 E9 E-- 如果作业已存在,则先删除它
/ E% H0 |: b5 XIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
* y6 Q5 |, N8 V' a1 J    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';# r# t4 n# c. ^' J3 o; V
GO
9 e. ]* Y- @& z2 f( Z& o4 U/ O& Q! p
-- 创建新的作业8 I1 {( w7 b: h: Z; o
EXEC sp_add_job " z0 j" l6 k* @3 U4 H
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
8 ~4 k  F; u2 c) v! `. U. P; e  l    @enabled = 1,                                    -- 启用作业# u- D$ {, T) [6 X' n6 l
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改( i. p. \5 o; v- {+ v
    @notify_level_email = 0,                         -- 不发送电子邮件通知0 r( y* x2 A5 o# V0 S: H
    @notify_level_netsend = 0,                       -- 不发送网络消息通知9 a: v) h: A  x  ~
    @notify_level_page = 0,                          -- 不发送寻呼通知
5 t% l$ N  J: \8 a" B    @delete_level = 0,                               -- 不自动删除作业
% [4 U& P5 Y9 v* z5 Z9 A- ^: ~    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
9 l1 m' X  O: q1 ~# ~    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
( ?& z& W9 e' n( v. R% a' Q6 r    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)4 f* l) ~1 y1 \9 g- y* E: f/ |/ G1 K
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员3 C- [; ^$ d8 Z/ Y, g% K2 m% V
GO
3 z  z2 f8 i% C7 j! J- W0 Z- P7 F7 ?* V
-- 为作业添加一个步骤
' l) z6 K- U6 X3 IEXEC sp_add_jobstep 5 V5 s0 K( [, C$ Z, Q$ O0 r
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
7 F- F. m! M5 K) @( f    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称8 i6 L) V* \- {& j  W
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)% M: R) D1 \0 [1 V1 Q
    @database_name = N'account',                     -- 指定数据库名称
, @" x7 o2 Z- k' K# _  M    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
. K6 m6 t* a+ m! `" _8 L    @retry_attempts = 5,                             -- 重试次数& V3 J6 K  M6 A. O+ H& ?
    @retry_interval = 5;                             -- 重试间隔(分钟)6 G0 A# S9 P! q: y) c- o" t
GO0 |0 E- G2 ]( z3 u1 X: J4 O, d
3 k8 Z. j; D+ x7 D" Q7 Q
-- 为作业添加一个每分钟执行一次的调度7 K( u9 J7 I+ h
EXEC sp_add_schedule
/ j. E' Z/ e7 a$ u    @schedule_name = N'MinuteSchedule',             -- 调度名称& ~$ E7 [! h2 ~
    @freq_type = 4,                                  -- 频率类型(4表示每日)5 R" k! [" \# z
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行5 @" E" x# X" T+ q% J
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
' |7 ^! R: z( |! w  S" W  s    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)7 O1 b, z$ S' A- D
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
# v+ V, u2 R/ c2 u    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
: w" T8 y! o; s) j) B    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
. i, @3 r4 @# D; j- |. C5 Z    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)- A0 T: h5 Y1 G( f( `
GO5 M7 O4 o! }* I$ G

. N  ]$ g- n  G' A6 J-- 将作业与调度关联起来$ M# ]  t7 R* Y
EXEC sp_attach_schedule 7 x% D# Y, B/ p2 p7 C6 V
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
" L: a! I5 S( t3 n    @schedule_name = N'MinuteSchedule';             -- 调度名称
7 F% c9 {7 D5 r  ]' KGO
& \' {) S& y8 H4 V/ ~! \, k3 M, e' n, c2 b9 v( w2 y3 u
-- 提交作业创建到SQL Server Agent* O4 _& F: |- J6 E
EXEC sp_add_jobserver
, Y( M8 c* O9 h9 z6 d    @job_name = N'IncreaseUserCashJob',              -- 作业名称
8 A( J5 G8 \7 }0 w" R    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
* r5 y! n' P# x( E8 u& k) WGO: \: ]" n( z. a  u. ?$ E/ O' f* f

2 \! t  Z7 j' L3 L6 v) i/ k* [1 Q- A/ D$ i
& F; E  S, i3 t. R. ^- Z

; ^5 I: h) V+ j5 L
9 U, r: b4 E) W; \
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-4-19 23:43 , Processed in 0.143955 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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