找回密码
 立即注册
查看: 1954|回复: 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作业计划每分钟运行一次-----------------------
  i, h4 m; C* Y- @+ z, gUSE msdb;1 i0 y8 {" _) I, V: ?
GO
1 Q- r4 T( R' A% v" v* j
! X( ^/ }+ \3 u0 }) R-- 如果作业已存在,则先删除它
* B" l# q5 r0 A, Y6 Q/ o2 HIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob'): d# y! H0 n, [8 E' e* ]1 p
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';( @( ~0 q1 j* _$ p+ r1 B4 ?$ P
GO% W; Y- E# A( b( e

% j$ u: o! G6 M! T" E& G; P-- 创建新的作业
3 {, [$ g, R* f* oEXEC sp_add_job 7 f. o. ~% ]2 f5 y( U6 t7 X, l
    @job_name = N'IncreaseUserCashJob',               -- 作业名称, B% w7 _  E# o: c
    @enabled = 1,                                    -- 启用作业
' ]5 t8 d6 Y& X2 r" X    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改! T6 F7 l) M, @. B) }
    @notify_level_email = 0,                         -- 不发送电子邮件通知
$ |5 D" {; X9 k' |7 T: Q    @notify_level_netsend = 0,                       -- 不发送网络消息通知
1 C, Q2 k# F# c: A* d2 ?* E8 S    @notify_level_page = 0,                          -- 不发送寻呼通知
* j% O3 {7 E; o! ~$ d    @delete_level = 0,                               -- 不自动删除作业
+ e, m9 v( L, V! `+ t+ L7 A  V    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述6 M. c( m. B- B( s: x6 e3 ~9 d
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
. f& ]7 b( T& ^9 O. \  V" X    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)& |4 J  N; U6 ?3 v2 o- J
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员/ @) D, z  @& e% \
GO# A: M  v. |7 P& f! ^1 ~
" d+ C( D6 b# Y1 K5 a
-- 为作业添加一个步骤8 `- R/ U; o! W( X, d; k2 ^1 h
EXEC sp_add_jobstep . |1 Q9 ~& x5 U1 ?
    @job_name = N'IncreaseUserCashJob',              -- 作业名称0 [' N& I% Y3 U9 p3 o: c# u. |
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称: [; s- ~9 {5 ]1 x5 l
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)# b3 j  ^7 ?  E. E: G' V5 r! W
    @database_name = N'account',                     -- 指定数据库名称, F) H; L" l8 U1 n+ E$ b3 U/ w
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
8 A- _8 s, c% m' V0 c1 P7 t    @retry_attempts = 5,                             -- 重试次数
% |3 T, ]4 H# y% `# H    @retry_interval = 5;                             -- 重试间隔(分钟)
: g: w6 p; c& Y: R1 ZGO
' H; k% o+ B$ F4 B; _9 [' P/ o7 o1 V
-- 为作业添加一个每分钟执行一次的调度, |$ U3 e4 D3 a/ q  d4 w
EXEC sp_add_schedule
& _% H- C' `# [/ E& q: ^1 k& f    @schedule_name = N'MinuteSchedule',             -- 调度名称3 r" ^, F* ^" B# F7 p, B& b1 |
    @freq_type = 4,                                  -- 频率类型(4表示每日)
. ^2 l( ]# A* `- g    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
: @3 o& t, A% b0 y9 q    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)% S- x, A0 B* X& r1 _9 t( d
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次); M! _6 c4 N. e) V& p( f
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
. B# _9 s0 Y/ }$ R3 E! {( ^    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
! R1 N: `# T+ A2 j  z, v    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期). v) c/ n, V; Y( @3 ^' z
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
7 I+ O9 u! u' K3 S$ D9 iGO# ?5 p. y$ g" b

, @* G. S+ T8 L( k3 m2 ?+ D-- 将作业与调度关联起来' [8 `$ i4 C' \5 k
EXEC sp_attach_schedule
3 Y: `) B; w" p    @job_name = N'IncreaseUserCashJob',              -- 作业名称
- V+ T5 ~3 O! c3 a  p9 g+ y    @schedule_name = N'MinuteSchedule';             -- 调度名称6 J7 e) i" K+ |% s* L4 M$ j" u
GO
8 l- K7 c0 G! R/ z' P4 L8 n2 O, @; a' H: @9 V( Q; J1 m+ l6 z" ?
-- 提交作业创建到SQL Server Agent
0 [& a# P! k  P' Y0 u& R0 G  tEXEC sp_add_jobserver 5 O+ P; b; W1 ]; c
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
! z7 i8 V/ l0 F- x    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
- G8 k0 z) W8 F; NGO
$ {( B1 i% \* ?2 ?. f) K
6 b8 c( {$ a3 n/ C2 ~5 q, I7 M* `6 w

, {2 |* \7 G; W5 Q% A
% n& {: i8 z, }& H+ |3 D, w3 x- ~9 q
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-8 09:35 , Processed in 0.074163 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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