找回密码
 立即注册
查看: 2992|回复: 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作业计划每分钟运行一次-----------------------
: o+ o$ `, u+ \3 s) k! A6 ~USE msdb;: U9 [8 @# |& g8 C. z" _
GO
8 S( s$ n/ s  v6 ]* M1 X
  X- r2 \3 ?4 o( }. Y2 K$ l; y-- 如果作业已存在,则先删除它; [- p9 e( T# y! ^+ |7 m, W# O
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')- s* {" m. e$ Y! A5 g# u+ c
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';& ?; J/ `1 R) w4 L: C+ p8 u
GO
3 I: e( `/ u9 M4 b1 z+ d, q/ H) ?! [$ j) ^, u! D. C/ K0 C
-- 创建新的作业3 Q$ I4 ?! I' A; S
EXEC sp_add_job " Y6 X$ n. a" t7 C0 f$ `
    @job_name = N'IncreaseUserCashJob',               -- 作业名称+ |2 [' U' s& s$ j/ e/ r' F
    @enabled = 1,                                    -- 启用作业2 t9 {" v; L9 P
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
$ x7 s& p+ z0 {5 ?9 Q  l    @notify_level_email = 0,                         -- 不发送电子邮件通知
8 V4 ?6 G( n1 J  Y4 o    @notify_level_netsend = 0,                       -- 不发送网络消息通知  c3 W$ s7 {+ H" U: x- r
    @notify_level_page = 0,                          -- 不发送寻呼通知, y, a! }6 @6 h* y# @
    @delete_level = 0,                               -- 不自动删除作业. o7 }' y, u. S  f  F, `# ~
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
. p1 L1 }& M3 v/ N7 x  `# ]    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
- R6 `5 c7 @" u1 N& i/ K" F# O  t    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)& u( s, v. S3 ?0 V
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员& _4 A4 ?) K7 R, a% I
GO
2 l7 @& K; V% S/ r3 {
; T! j# f/ l7 g) n. y' b6 {5 `) r-- 为作业添加一个步骤% e, l1 Q% Q5 C. q, Z
EXEC sp_add_jobstep
! D7 }, Y& u1 |    @job_name = N'IncreaseUserCashJob',              -- 作业名称
# u( M5 x+ f- o% u$ Z5 k  X5 ~    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
( F9 \0 b0 U0 p7 U    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
9 ]9 u* R7 V1 L: V* N    @database_name = N'account',                     -- 指定数据库名称
0 I  q2 c) f, j: m    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)$ K2 ]. S8 q. T2 n
    @retry_attempts = 5,                             -- 重试次数& F: }- H& G9 k7 P; `3 t6 I2 G
    @retry_interval = 5;                             -- 重试间隔(分钟)/ O7 m# d- O8 U) w/ m
GO
9 z! H) a' z: W% y& P8 @2 E; ?
+ v5 S; D, Q; N; a: ~-- 为作业添加一个每分钟执行一次的调度1 E- e. d' |8 s% F4 R5 y( U
EXEC sp_add_schedule 4 @7 M/ M  C- l! \+ H
    @schedule_name = N'MinuteSchedule',             -- 调度名称; j- {7 n( Z0 f6 b( n9 |0 D2 ~
    @freq_type = 4,                                  -- 频率类型(4表示每日)
4 x2 y% p5 T7 L3 J7 j% [    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
0 g8 }! B8 e. k, C+ \" `2 e    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
/ A! i3 W! }, q- _% J" U% O: G    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
: h! j) ^* P6 s( G2 R( l" {) w    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
& r4 w/ w" V6 ^9 |$ e# E, c" t3 |    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
) V" m! O& l3 v2 Z  {; y# {9 U    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
& m! l  a/ Y  b8 e' p5 w& ?8 }    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟); ^4 C' p2 Z( B, @- Y' B6 P
GO
1 }7 i- W) }1 {' n  E1 p, d( x% B& |! ~8 q4 X$ Q
-- 将作业与调度关联起来
9 B4 ^$ f# R8 l4 V) g" [. X9 H8 BEXEC sp_attach_schedule # ?; ^9 {1 P6 A8 |
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
, n* z! E1 ]6 z  b! [    @schedule_name = N'MinuteSchedule';             -- 调度名称2 M8 M- e5 O8 R3 r( M
GO
( F4 [& M7 J: h: P/ E5 ]; `
7 c+ o) \) r7 r8 E# w-- 提交作业创建到SQL Server Agent
- N5 W  u1 K2 E$ o* bEXEC sp_add_jobserver
) p( K- B# [; r    @job_name = N'IncreaseUserCashJob',              -- 作业名称3 A! e. h5 n1 l8 p5 f
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
7 d8 ^8 }0 ?* _3 j+ VGO: N2 A5 Z2 `7 e, S
6 w$ s5 n: [8 h2 K. K6 E

7 `5 c5 s* e1 Y. T: O. ^
2 Z7 T( j. u: `0 p4 a$ h3 H$ b9 W8 G) g+ A( Z( S$ x
# S9 U& @  M* ~8 s, [+ L' o( c# C9 H
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-7-20 19:16 , Processed in 0.080667 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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