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

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

[复制链接]

2

主题

75

回帖

867

积分

高级会员

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

2

主题

75

回帖

867

积分

高级会员

积分
867
金钱
728
贡献
62
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
: e2 a' N) ^) R3 ~USE msdb;
0 u8 m0 \8 G9 D8 m1 C" F" sGO
$ ~# r$ y4 s4 \2 b& r
$ y( u9 _+ y9 J9 V, ]- E-- 如果作业已存在,则先删除它
# b: m& b- S0 p1 z$ i/ XIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
. G$ R& O" ]/ A" ^3 g& C' h    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';( A% S5 K: N. `' b7 K7 m$ ]
GO/ k$ G+ D6 P4 H/ ?

% }& `1 w7 M1 d( j) w# t-- 创建新的作业) ?! t: R& l* }8 i- b" [/ I, y% @+ D
EXEC sp_add_job * N. Q* m1 _/ l
    @job_name = N'IncreaseUserCashJob',               -- 作业名称" j  d. }$ s+ v8 D3 Q+ x
    @enabled = 1,                                    -- 启用作业
( G$ U7 E" g+ \& E  j& \! ?+ g    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
* ^' i+ ^/ T: ]3 w0 _9 o4 A6 I    @notify_level_email = 0,                         -- 不发送电子邮件通知9 Q" F5 _7 t8 h, C0 B; c
    @notify_level_netsend = 0,                       -- 不发送网络消息通知$ p2 |, @$ S! S! y  L2 d4 I
    @notify_level_page = 0,                          -- 不发送寻呼通知: R2 J# g, |5 \2 C$ }7 Z
    @delete_level = 0,                               -- 不自动删除作业: R" m. p: T7 U$ P
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述5 o. I/ w  k. W& ^& K9 ?
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别. ^  g- E6 Z* I4 q2 ^3 E; B$ Q
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)# v6 k% o% F0 f. g) v
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员8 D" F+ Y' w* C8 k
GO
8 Y! M, {4 Z- n9 |0 T0 k3 d( o! B5 K6 g/ R8 u9 h
-- 为作业添加一个步骤
6 R, q. ~% l/ @EXEC sp_add_jobstep ' M0 v4 Q+ [' N8 g8 }
    @job_name = N'IncreaseUserCashJob',              -- 作业名称- g" b& ~7 p% B# G" s
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
9 x- @  g; n( R, @. t/ V    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)2 a1 B; h, S$ p# t4 q
    @database_name = N'account',                     -- 指定数据库名称
( ?1 r! L( `9 o7 E8 E# {6 ]    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)1 O8 X, F: {. b, a
    @retry_attempts = 5,                             -- 重试次数
" D+ I3 x7 ~1 W( d) D# H    @retry_interval = 5;                             -- 重试间隔(分钟)' [/ K( k9 f2 @# z) i0 }
GO
8 O4 Z4 X& L, F7 I% U# u2 x8 C* c7 H: f# w
-- 为作业添加一个每分钟执行一次的调度3 r; Q& {' k4 q& Q9 a9 k
EXEC sp_add_schedule
- J: S! R2 ^- ?5 q3 M    @schedule_name = N'MinuteSchedule',             -- 调度名称+ y6 P. ^4 T! ~2 a
    @freq_type = 4,                                  -- 频率类型(4表示每日), F$ Y; J2 p  {1 u
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
% \; [* N, a( ^$ t+ t# z4 c    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
& X9 u, E! R/ h0 O. Z9 s: v    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
: U8 i$ `& m1 n0 E2 l    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)  ]& H( K/ d9 O; w+ n( D
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)* }! n5 {0 G1 E3 a
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
$ V- ~, G$ D& H; t4 F) |    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)1 h- I% C6 ?) i9 ?
GO; k1 Q3 L0 w" F2 Y0 P, {1 z; o
* a; @5 f8 [: y& I2 V6 ^
-- 将作业与调度关联起来8 P4 h  {( I! O0 v) j
EXEC sp_attach_schedule
# U% y$ Z9 D0 @# F( X/ ~    @job_name = N'IncreaseUserCashJob',              -- 作业名称2 G6 {2 m8 N2 {# c: ~
    @schedule_name = N'MinuteSchedule';             -- 调度名称+ _8 x3 ?8 |7 J" k1 z- Y
GO
" V$ A0 N. g2 a! z. S. q; P6 f; H' k( C& T8 B
-- 提交作业创建到SQL Server Agent1 S# X+ M' L: c) b  a
EXEC sp_add_jobserver " V" K  F/ l0 J0 h+ |; R: s
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
4 Q( x+ D" v+ f2 K    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')' [# Q" [" v2 j# x5 m
GO
# K5 y/ ~3 _9 Q' i4 Y7 v% X5 H$ I8 U# `1 m  w& X* J

8 `5 t# u" g: a# p: d3 n8 f
& [" `$ u, O0 z% o* z' ~. m
; J: N9 e: A6 u1 p: X2 o+ o" j$ j8 q& \, d' B: D
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-2-14 16:28 , Processed in 0.064863 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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