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

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

[复制链接]

2

主题

75

回帖

786

积分

高级会员

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

2

主题

75

回帖

786

积分

高级会员

积分
786
金钱
654
贡献
55
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------3 z, E$ ^" R) _6 X; [7 H
USE msdb;
  v6 x0 \' R) t! O/ |) nGO  @4 `8 d1 i6 f8 h

% ~+ H. M4 K" l% |) m) M9 L-- 如果作业已存在,则先删除它
: \9 r8 A/ d* v2 mIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')' n) m4 S  G0 b8 r) K& [, L+ R& J: R9 F
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';: J$ I5 G, X, t9 O* f/ k/ @9 E* g$ E
GO3 V1 L- \9 S& H# U, @  c
+ {5 }1 x& O; x
-- 创建新的作业
, f/ F0 ]# ]( bEXEC sp_add_job
9 j6 }' @9 _  G# L    @job_name = N'IncreaseUserCashJob',               -- 作业名称# `; U% u. Q* ~+ f0 F- d6 d$ p
    @enabled = 1,                                    -- 启用作业
3 j% H! r2 _8 g- w' C! N( U    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
$ Z; r' F. {0 q# `    @notify_level_email = 0,                         -- 不发送电子邮件通知4 \4 Y! A3 E* ?8 {1 [% B6 o% r
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
' U* s6 P4 [7 o5 m+ \7 p# F& l    @notify_level_page = 0,                          -- 不发送寻呼通知
1 X& v! k8 T& B3 [& z: e    @delete_level = 0,                               -- 不自动删除作业
# h4 d; h( F6 T5 X; w& B  _& F/ E& j: ~    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
9 d9 m, b0 [4 n, M& I* T8 i( {    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
* Y" @% O3 }7 O3 I- u    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)& d  y' s1 r: F; v/ [
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员. T: R, H+ |  W4 |4 g
GO
/ A5 I+ |: O( F! q/ Z2 S4 z& W% Q+ F$ A2 i, K
-- 为作业添加一个步骤6 t: O+ c# L- a5 J- f; H
EXEC sp_add_jobstep
3 ?+ h7 N6 ^% W3 ]) X/ y    @job_name = N'IncreaseUserCashJob',              -- 作业名称
5 y" t* B/ |* E2 `    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
  [" h( a$ |3 W% B+ e& y' t+ R1 o+ r) ?    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)$ E5 O/ R% X: }( j/ W
    @database_name = N'account',                     -- 指定数据库名称
5 S" v" u) h6 @" T0 w% r; `& w    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)' g  n& X! j7 x
    @retry_attempts = 5,                             -- 重试次数: i0 O3 h% W, v
    @retry_interval = 5;                             -- 重试间隔(分钟)+ ~: ?# k3 ?. V9 Y
GO
' e  ]# }- s; c, V$ ^+ e6 d% b# X
1 s! {* K$ P8 V# p! ]-- 为作业添加一个每分钟执行一次的调度
# }1 W" Y/ T4 o( cEXEC sp_add_schedule 0 b' R2 G$ t# C
    @schedule_name = N'MinuteSchedule',             -- 调度名称
& K2 ~' E  K/ T& H% A( C2 o8 B    @freq_type = 4,                                  -- 频率类型(4表示每日)0 d* n0 U( D. t) Z& D; N0 P
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
! R+ H0 f% b+ G: R2 K: o2 x    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
* ?2 X- }$ u8 H$ Z+ B    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次). o' c3 U$ C8 O& H6 y- Y0 y: U/ q
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)8 p" t0 a( g$ S2 v9 G
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)1 l6 D6 }* ?3 g3 ?2 P) S
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)4 y) m# y( H; a
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)6 P" n6 w9 }) u8 I& N
GO
. }7 @4 H0 m7 _+ I+ k3 X  n
- F: u3 F! G1 g6 I-- 将作业与调度关联起来" U* f- ]3 [; {8 G, Z
EXEC sp_attach_schedule
# m/ O0 L6 n: U% X5 v) `; ^2 c    @job_name = N'IncreaseUserCashJob',              -- 作业名称
8 Q) s: i" Z- i. n5 T    @schedule_name = N'MinuteSchedule';             -- 调度名称: b# X5 n" ]" C+ P! J
GO
  @8 L4 B- k, f  ^3 l7 U
( M/ E% [& Y# w$ o! @4 X-- 提交作业创建到SQL Server Agent! T! X7 a' R0 x' K( o
EXEC sp_add_jobserver
3 _, D( [: g" Y    @job_name = N'IncreaseUserCashJob',              -- 作业名称" V% L% H/ `5 ?
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')+ {0 V0 J" u: j; X+ V( l8 B3 i3 w
GO$ n& r% w& @6 A# Z

( J/ X" ^- u6 K' Q3 Z/ m. ^" g: l; N. h% O1 l
9 h* q6 N7 P( E* t3 u
' {7 e+ h. T9 o/ Q1 H# u$ P* x
: \& N' t4 e# H' \
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-11-23 21:30 , Processed in 0.064586 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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