找回密码
 立即注册
查看: 2684|回复: 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作业计划每分钟运行一次-----------------------: L* X- J$ U/ l
USE msdb;
* h* [- [* q% F; ?GO
9 v1 H  P- T6 V$ R( t2 t3 L
2 Z8 h0 S3 S; G3 x" y-- 如果作业已存在,则先删除它7 \, y1 N7 K' R/ n& H: |
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')5 A& {& V$ P. r0 S
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
5 u2 O2 ~& L' {; M- _* ^/ E/ A; CGO# F& }7 S. t' L" s- r$ Q

) T! l4 h% V$ K6 l. L-- 创建新的作业
  h+ \: B- j1 K6 q" m* U# Y. TEXEC sp_add_job 1 V& e' g- j! L' O5 k9 v
    @job_name = N'IncreaseUserCashJob',               -- 作业名称; h, m7 o. ~& D1 N
    @enabled = 1,                                    -- 启用作业# J0 t7 L2 \! q% Z- J$ i
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改# I- x4 m. X9 t
    @notify_level_email = 0,                         -- 不发送电子邮件通知% F1 {4 A! N& s
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
4 T) T2 _' E5 I    @notify_level_page = 0,                          -- 不发送寻呼通知
% _! @* x& U$ R/ \% P) i, d+ f    @delete_level = 0,                               -- 不自动删除作业# H9 Z$ V7 R6 N& [: `3 t4 f: V+ V5 \
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述1 U* y- q) M# h: J0 _
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别0 |" V6 m' G6 {" c, Z3 b# l4 K
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
6 [" S. w& M- S$ C, ?6 @" q. |    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
! I! _: d1 [5 J1 ]! i0 F# iGO
& b; k8 L0 ~% d8 y  ?# ]) b3 A; i! D* A! L0 `
-- 为作业添加一个步骤
2 E$ R. P8 h( XEXEC sp_add_jobstep
/ g! Q. c+ U7 b( }' w7 J9 F* F* c    @job_name = N'IncreaseUserCashJob',              -- 作业名称
# F+ B) S1 G  q    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称/ ]$ u* t( B2 [) h* o
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
1 n( f" N/ }9 L0 ^' I    @database_name = N'account',                     -- 指定数据库名称
  c" r' c1 s' H- ^1 Q8 _, s    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程), o/ C, A+ I) W( Z
    @retry_attempts = 5,                             -- 重试次数5 _% y6 u) e; A3 A* q/ b5 j
    @retry_interval = 5;                             -- 重试间隔(分钟)  Z1 E" R4 u9 I: a4 U
GO
0 U: O8 V$ b2 G6 N" p, A- d
9 d; q3 ?( F4 Q-- 为作业添加一个每分钟执行一次的调度/ A# @' H$ m, H) e) C
EXEC sp_add_schedule ' w  G0 X* C6 F- J
    @schedule_name = N'MinuteSchedule',             -- 调度名称* h& T: k7 B( n, @2 Z
    @freq_type = 4,                                  -- 频率类型(4表示每日)$ G2 Q) Z' X: c% ]4 }- }" J
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行" q+ k7 p2 p8 Z' X
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
1 j3 S: \! m4 G- ^* j5 {    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)3 }2 ?: g0 N( `# ^2 |& ]: c
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
2 D/ m) K+ M$ V, Y+ u8 d! w4 l; v  k    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
/ {. n' W- {6 C- U5 ], J( c    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)- r+ @5 h) ]9 f. O5 V0 W
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)8 _& o3 L1 L$ C1 T  m
GO
- N/ M  u8 H2 r3 W
) P3 U7 I2 M( i* @-- 将作业与调度关联起来7 J, Q3 p& L! _6 T. F
EXEC sp_attach_schedule
. d9 r& d8 S6 b4 L" r    @job_name = N'IncreaseUserCashJob',              -- 作业名称
- L' v$ a: f7 W( B; U% [    @schedule_name = N'MinuteSchedule';             -- 调度名称
6 M7 }5 `9 z) JGO# L9 F0 ?3 |; n8 E
! B3 C  B2 l6 O& \8 ]+ h
-- 提交作业创建到SQL Server Agent0 g+ `$ B' R( L( s, ~9 Y
EXEC sp_add_jobserver
  R- ^. T; }: W    @job_name = N'IncreaseUserCashJob',              -- 作业名称! i: T. W; X  l- f
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
1 {5 S* B+ t$ x" t/ x* W+ q9 m% u9 S4 jGO* ]% A  \8 x8 z& ?
  P# y: c( _' x

* h2 V5 P' |, M) S9 b6 ?$ P/ M0 d+ [: J7 X* w8 D5 G0 a
9 }; K8 ~# E% r: T
2 T& u$ J) o" h: |) R' W
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-6-3 02:32 , Processed in 0.030229 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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