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

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

[复制链接]

2

主题

75

回帖

838

积分

高级会员

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

2

主题

75

回帖

838

积分

高级会员

积分
838
金钱
702
贡献
59
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
. }" f! Y- ^9 i/ c( V' ?! _USE msdb;
. A, C& q+ ?& |5 h" bGO! x3 b5 _$ I+ c$ j" O& K
$ c; O: H4 l9 o+ `. s0 V
-- 如果作业已存在,则先删除它& D; c7 H7 X' \4 n9 v
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')2 }& V7 M) Y; L5 W! v. h4 w' j
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';% N3 h, V% m8 h7 I/ K& Y; ~
GO
+ X' U# T% |% [* W  I/ \/ E
; Y4 T7 v! ^+ e, H5 L-- 创建新的作业
# h3 m5 `: `) u& M- H- o- M* gEXEC sp_add_job 5 d! Z) q& D% U9 E3 G
    @job_name = N'IncreaseUserCashJob',               -- 作业名称1 E1 Q9 e1 b. y$ E: }
    @enabled = 1,                                    -- 启用作业% G8 E7 b7 B: P( t) v; S; |2 i6 \* b
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
+ n. C* @& g! T( ~2 U4 `    @notify_level_email = 0,                         -- 不发送电子邮件通知: B! b' W6 Z  O$ u, F
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
, u. E4 J- D# X, x+ ^    @notify_level_page = 0,                          -- 不发送寻呼通知
5 h  L0 B7 V6 A    @delete_level = 0,                               -- 不自动删除作业: r: Q6 \8 `+ f- k4 r4 e$ H
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
1 q" ^4 Z. ]$ p, O    @category_name = N'[Uncategorized (Local)]',     -- 作业类别! V8 R: z% q0 q* y! O* x. [, `
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)% D6 W3 X" V" i  j% @8 {9 D
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
8 l/ D8 `: o) I( P) @GO/ B' [( b& Q% J$ i8 M& h
8 @% E3 d: w2 j) o( @# i/ T5 Q
-- 为作业添加一个步骤8 a$ C+ r6 K2 Z( e* c
EXEC sp_add_jobstep
. z# N; r. x- j, W4 [5 Q% n    @job_name = N'IncreaseUserCashJob',              -- 作业名称
$ @$ b3 ?' [* ^    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
+ T2 D- p0 j: L+ w+ J2 s9 d    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)0 m) P. |2 l, [: v4 i1 Q* i$ {
    @database_name = N'account',                     -- 指定数据库名称
: A: _  Z) I0 B+ ?    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
4 d, E9 m& |& j, l$ s) \9 T* }! P, ^    @retry_attempts = 5,                             -- 重试次数, d+ C& [! C) w0 M
    @retry_interval = 5;                             -- 重试间隔(分钟)
; T. H( U, [  t  ?GO' c9 x+ }  q7 C0 B1 A& P5 b

7 J' X  e% ]; W) u-- 为作业添加一个每分钟执行一次的调度. L; W* a; p9 s; h% X* p
EXEC sp_add_schedule ' [8 i+ R, s% F2 g, l9 S
    @schedule_name = N'MinuteSchedule',             -- 调度名称
; X. P- m6 {" h* ^" N1 c    @freq_type = 4,                                  -- 频率类型(4表示每日)
/ G  c9 l) {5 r1 ~0 e/ t    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行- t7 r. L/ }7 o5 T- n+ M  d, h
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)8 ~, f4 v* |, G* [
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)+ S6 k- |0 a6 x$ B
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
! n# r7 `: L7 ~( U; A+ \    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
0 T3 Y5 Z# H/ H- l5 Q    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)6 R8 n0 h8 H. s5 w$ g: y$ h6 e8 [
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
4 |1 d7 f$ {* `3 W& O1 GGO# W6 p# C7 X8 y1 L, p: R9 V8 W
' f' _4 D9 M4 U- G9 X2 A
-- 将作业与调度关联起来9 ^/ S* h7 Y& U$ ?
EXEC sp_attach_schedule   k' {7 X; F9 O8 D6 _5 r* S3 S- u
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
# K) C% n0 X+ _# p9 X  P* _    @schedule_name = N'MinuteSchedule';             -- 调度名称
9 l2 E* B& l8 e  y" g. VGO0 d& B, T5 W% w' A% P: I2 i

6 H# M# V, K; e5 _7 ^( I-- 提交作业创建到SQL Server Agent, M4 Z) [& l4 b1 e- S% M
EXEC sp_add_jobserver - D4 z) B6 Q5 V" w, E, D8 g
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
, p" x. I$ x) `: Z    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
8 j' Y' d: F7 ^9 o+ ^6 |# HGO
) q0 k' G2 K0 c3 n0 a1 Z# U9 {" [$ H: _8 ?9 |( w1 d8 H8 ?
) c* X6 O5 Z" `) E, S* F; S

6 L) ?/ r4 Z# t$ S+ U9 y/ R) Y; b4 X  J$ t1 r

+ a3 x/ r2 f1 R1 H; }5 x& Q
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-14 14:08 , Processed in 0.072792 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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