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

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

[复制链接]

2

主题

72

回帖

264

积分

注册会员

积分
264
金钱
181
贡献
9
注册时间
2024-9-13
发表于 5 天前 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 贡献 才能浏览

2

主题

72

回帖

264

积分

注册会员

积分
264
金钱
181
贡献
9
注册时间
2024-9-13
 楼主| 发表于 5 天前 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------; G! u) |6 K0 {4 R; h, V
USE msdb;
( M4 J- `  i1 B. I- ?) t7 mGO
) o& L) C3 u, b3 v4 f5 ]
& G& P2 }8 R) n4 u5 X7 y, n-- 如果作业已存在,则先删除它- z9 p- y' e! a" w- y* U) W
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
) t# E0 J5 p/ D, b- }" H    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
; o/ H9 S- b6 ?3 M2 ZGO) p) }% B% @0 g1 I4 S
' {) c6 ^. K( {2 C# J
-- 创建新的作业
" {( L) {4 q. J: U8 x/ e* MEXEC sp_add_job
  T* ~" a% q" s2 ?! n: {+ W  X    @job_name = N'IncreaseUserCashJob',               -- 作业名称
+ @' H; j& N, F5 z8 v    @enabled = 1,                                    -- 启用作业
( m  ]9 {& ]% m  B. X- b9 E    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改* T% u& h. `: @, X# @; d( N
    @notify_level_email = 0,                         -- 不发送电子邮件通知
& Y3 q: R/ l: Q) u" h1 q) n) j& A    @notify_level_netsend = 0,                       -- 不发送网络消息通知
$ d+ |% y9 C' O4 H% N$ Q/ J4 @  K    @notify_level_page = 0,                          -- 不发送寻呼通知) _" v9 a) I; w5 |4 W2 i
    @delete_level = 0,                               -- 不自动删除作业- y% Z6 J" N1 g# T
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
: C6 S0 U6 w; @. M- h# A. V2 P    @category_name = N'[Uncategorized (Local)]',     -- 作业类别, C! m3 k! b: D' b/ R% i7 P8 P
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
8 x/ `7 ?/ l" W4 T( \4 o' \3 I! S    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员7 |4 B  E7 o4 @# @2 V
GO- V% [' u( @$ b& ]' v/ t: a6 S) @
) r' c( ]& ]6 d. s
-- 为作业添加一个步骤
+ j5 M! ~( s+ o  U& eEXEC sp_add_jobstep ( c3 u/ C7 w( A& Z: {
    @job_name = N'IncreaseUserCashJob',              -- 作业名称* d* p4 G( R7 M8 {' h: e
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
9 b4 P/ Z' y0 U- `2 {3 i: \9 P/ t& q    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
( t) k% z& H. ~+ q    @database_name = N'account',                     -- 指定数据库名称
$ P) C, B& V, c6 W! a& @    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
( U% e) \# l( `    @retry_attempts = 5,                             -- 重试次数. G0 a& {: j: V8 w  ]9 K
    @retry_interval = 5;                             -- 重试间隔(分钟)
1 B2 Y, H0 s& c- M3 }( y. ]GO% z6 u+ E2 \5 F9 \7 X: k5 F
; B1 Q, a( ?% W( p$ K9 w
-- 为作业添加一个每分钟执行一次的调度
! q4 p; J7 {" k$ t. j  M% a# YEXEC sp_add_schedule 1 s% T( ?' e# |' ]3 d* t- [
    @schedule_name = N'MinuteSchedule',             -- 调度名称
& z6 e$ Y! |) z    @freq_type = 4,                                  -- 频率类型(4表示每日)
7 r6 ]% |* [! v, W7 r# X# }    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
$ O9 f- D: H& A8 ^4 h6 e    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
* n# {5 t, M- q- k; G    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
1 a5 \( M& i' F5 W9 d    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)+ s. P5 d. K/ g& O
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
2 z4 S$ S: p. A" D, M    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
! c) T& _" P4 c% a. {3 m: \! n+ ]+ G    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
( C: i9 L" H/ ?9 n2 \: k) bGO* A9 {; x" ~3 U+ i. c5 J

2 d6 F1 v3 x+ s6 J% h2 _) N, t-- 将作业与调度关联起来' z3 Z$ f/ ^0 S' |* \) X
EXEC sp_attach_schedule
, w# g5 z- M% Z    @job_name = N'IncreaseUserCashJob',              -- 作业名称
5 \3 l0 @) Y( v; M8 v    @schedule_name = N'MinuteSchedule';             -- 调度名称, U! O: }  u! Q) L- W$ F! v; Q6 V
GO6 b7 A% E- J. B) u: a

+ C9 L; J  ^( g9 \' `-- 提交作业创建到SQL Server Agent
5 _8 c( |+ [4 b- EEXEC sp_add_jobserver & x$ v' T# U- m8 {/ b' a
    @job_name = N'IncreaseUserCashJob',              -- 作业名称: x8 F) u. t5 z
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')5 p% k/ a) ^8 K+ M0 V& }
GO
6 Y5 K) Z% `9 ~2 G5 C& U  E/ \; e( J5 G5 e" E

% [0 f  |* W+ c- T$ f
  ]4 K4 }1 B6 V: Y7 m, G
  o2 T4 m+ }3 i, }  g; A, K. x/ f4 Q3 Y
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-1-23 01:04 , Processed in 0.063736 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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