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

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

[复制链接]

2

主题

75

回帖

870

积分

高级会员

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

2

主题

75

回帖

870

积分

高级会员

积分
870
金钱
730
贡献
63
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
! ]2 E& Q! V0 L# v7 Y- zUSE msdb;1 w2 T- ?5 Q* A8 h8 U/ @
GO
; t3 I3 B& i: y" P0 `6 U" T4 ^. r$ f3 b/ G
-- 如果作业已存在,则先删除它4 @* ~) y) `, i& {* `0 ^
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')/ K* H  p+ C& |* s3 f
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';  g1 m% _3 D, V" t
GO: l# ]& |8 E1 b( i9 R" C

& i( m; W/ y% G# B0 V-- 创建新的作业
( u1 N) F" k  C% tEXEC sp_add_job * A# A1 ~& B& g7 F7 P/ d3 o* n0 H
    @job_name = N'IncreaseUserCashJob',               -- 作业名称2 b. C2 i) f# [. P! Y
    @enabled = 1,                                    -- 启用作业) _9 u+ Z% M. x3 t7 V+ Y
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改0 C: W) Q2 M4 R
    @notify_level_email = 0,                         -- 不发送电子邮件通知
1 s# g* s' Z0 d0 j% S- i+ Y$ D    @notify_level_netsend = 0,                       -- 不发送网络消息通知
7 u- h  r) o/ q5 |+ X    @notify_level_page = 0,                          -- 不发送寻呼通知
7 C3 W. P! \# S0 M6 C5 V4 G! o    @delete_level = 0,                               -- 不自动删除作业4 |, \" Z! B) A* O3 d8 B
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
( i( A+ s% ]* L% y# @4 y0 @    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
' u& U, A/ i/ w7 O8 P: V& A    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
, D4 q/ t6 W) y: ?7 {    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员9 u: V8 z4 f7 r- v3 l* _
GO
4 [; P# {6 \  ^9 |" P' N, p6 Y9 y' Y# K& f" x
-- 为作业添加一个步骤: G5 }  x6 [! {% s- O5 h
EXEC sp_add_jobstep
+ k# q# A$ \) O& D6 K! n1 Y    @job_name = N'IncreaseUserCashJob',              -- 作业名称, u/ @  Y  k* `5 A5 H% Q
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
& Z+ ~( x" s2 k0 k    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)8 d7 x& K5 R9 h: c' p2 ]2 z8 I
    @database_name = N'account',                     -- 指定数据库名称" E0 h& D9 H4 ?4 t0 I2 Y# N
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
* j6 k% ?* X6 Z$ M5 D! U    @retry_attempts = 5,                             -- 重试次数
% F% x8 x; |+ F$ I8 a* t    @retry_interval = 5;                             -- 重试间隔(分钟)/ L) b2 F/ {' q8 C7 e4 r% _1 S) S
GO+ `' K0 _+ }* f0 M5 N
) `, A; |# P" P4 {( r+ @
-- 为作业添加一个每分钟执行一次的调度4 Z% T  R5 c1 H5 f: k
EXEC sp_add_schedule
0 S$ r7 P6 ^) t& \: N    @schedule_name = N'MinuteSchedule',             -- 调度名称
, [) s2 L  Y3 d/ [1 J' k    @freq_type = 4,                                  -- 频率类型(4表示每日): W3 A5 ~7 n' ]$ R# V" _
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
" n9 q5 z& \( f! @3 E* W    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)! O! I4 ^6 r; `+ o3 `( [* F6 @0 E
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)- ~8 g7 J* v! \: k* f0 _
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)( \" m4 I) l' l' L* p
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)- P0 \" W5 ?' ?5 T( _, I
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
6 @" f$ H, H2 Y6 m1 J- g0 k4 y; |    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
% G1 l4 I3 W0 w" @' r- oGO+ d( P  ~: c/ Z5 m" f) J# h
- N& n: Q$ p. ~5 _; v
-- 将作业与调度关联起来
7 a1 n$ h& I+ [( O+ a) `! [2 Y% C" zEXEC sp_attach_schedule ; q" @2 v8 [1 g5 o% H3 }
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
+ z" |0 E. C, M* `/ I    @schedule_name = N'MinuteSchedule';             -- 调度名称5 {9 l! P, A* b, F) D
GO+ F: [% z! {( ]

6 j3 X* ?# _. a6 U- A" y5 B& {) j-- 提交作业创建到SQL Server Agent+ ~; r* O. X' k5 j9 g* F
EXEC sp_add_jobserver % m4 z% W2 m( X# m# n
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
( j/ V0 {! R! l- _- m    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')' L1 k  l* H5 C- f- ~' K' R" k) ], V) Q$ w
GO
7 |2 ]" S2 t' b. `& Q3 ~! A4 v3 b% o% {! n7 q

, z* x* ^4 P7 H' {/ G- V2 P
1 z- ]4 U  l6 N3 b$ O- c3 k
# S# S9 ?# p- \% k( o  d3 |7 e7 H' d. O% b7 S4 u
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-13 22:19 , Processed in 0.035023 second(s), 30 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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