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

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

[复制链接]

2

主题

74

回帖

744

积分

高级会员

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

2

主题

74

回帖

744

积分

高级会员

积分
744
金钱
613
贡献
55
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
* s2 ?& [3 _" ?. F1 UUSE msdb;
1 K" ^) ~, `+ S' M8 [: EGO
( m; }6 J1 |0 S  `: v. a4 ^9 ?
-- 如果作业已存在,则先删除它
" z1 Y, B# Q) P2 |$ {IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
  \" A4 ~8 ]+ n: M4 ]- @; S    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
3 w; ~' u) D# u$ _8 D5 EGO
5 o9 B' u( p, G6 L! B0 g: x$ `. A" r& m* Y! ?( \
-- 创建新的作业7 z' U4 Q. S% k$ l) U% [
EXEC sp_add_job
) P+ Q. V5 U# e4 O8 m# X5 L    @job_name = N'IncreaseUserCashJob',               -- 作业名称; J* N. L$ Q& x( R" F
    @enabled = 1,                                    -- 启用作业
  y  [) m2 E- u. r    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
' @* Z! b  A5 Y+ F3 Q2 H    @notify_level_email = 0,                         -- 不发送电子邮件通知4 _2 s% U' m1 R; m6 X$ `2 o( r
    @notify_level_netsend = 0,                       -- 不发送网络消息通知" @  p$ f' H" [& o. n* z
    @notify_level_page = 0,                          -- 不发送寻呼通知, S' \- `& R0 V$ o% L' x' q
    @delete_level = 0,                               -- 不自动删除作业2 S0 G2 h$ N" K% C. B* }; W! K2 q
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
1 }7 o, ?" Y- n2 D    @category_name = N'[Uncategorized (Local)]',     -- 作业类别! B+ K' A: j0 [' o9 O0 G! K' t7 o
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
1 D  A3 x3 G" u" u6 b, N6 U    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员) K) x# M/ O9 [' o/ {
GO
' q) o; p4 ~& b0 y
6 a6 `; S! V3 o" G( i" n' w-- 为作业添加一个步骤  V$ R# _- p6 E
EXEC sp_add_jobstep & R- N4 R5 ~! g9 R7 {1 [0 U  V4 z
    @job_name = N'IncreaseUserCashJob',              -- 作业名称. Y9 v$ R! m7 X* x9 n: Q- S6 ~
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
& G  [/ U6 |/ J2 l    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)9 |) d, S2 r% z+ o
    @database_name = N'account',                     -- 指定数据库名称
8 a) p+ B) Q" `, T8 A    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
, y3 f# T# O" h, x3 p- g1 x    @retry_attempts = 5,                             -- 重试次数. N1 r/ @1 ~/ J$ A+ {  v
    @retry_interval = 5;                             -- 重试间隔(分钟)7 w$ Z% t/ B$ Y) O" C
GO8 [8 ^$ ^  m7 M, d1 R' E/ \! S

7 F; R+ C$ ]6 n" l% A-- 为作业添加一个每分钟执行一次的调度$ Y* K6 L. M% b3 @8 k" g
EXEC sp_add_schedule - N7 O! [" ?, r1 l3 I/ Z) C8 Q
    @schedule_name = N'MinuteSchedule',             -- 调度名称
, F: y" F2 A5 t    @freq_type = 4,                                  -- 频率类型(4表示每日)7 ^0 }' b1 h7 d& i
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行) c" l. m% b8 w2 ^) L
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
8 p9 r$ a" C: @    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
7 P* p; m6 L% H8 b% J    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
* t  o1 v5 t1 F9 ]5 ], g    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)& Z3 u" o" r- _5 O- a- M. i& X
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)/ h# p+ |5 P/ ~- N' ~
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
. Y8 ~# U1 n( a  a. E) BGO/ O& `3 D2 m6 R% T# y' P

5 j4 ]$ D/ u/ t) U" _-- 将作业与调度关联起来
  h+ J# c; r* Q; v8 P+ c% z( ^EXEC sp_attach_schedule
: c+ @  t" v) u% g( f3 L0 i0 @8 W    @job_name = N'IncreaseUserCashJob',              -- 作业名称
3 C4 P& n7 \' m0 R1 R% c    @schedule_name = N'MinuteSchedule';             -- 调度名称
9 e% h  G1 ?9 q$ O, D$ tGO
  }* z# A* U' w% e, D& N# c& v( b
) ]4 u) w& V  Q1 k  y1 D4 f-- 提交作业创建到SQL Server Agent
2 ?% X8 A$ k, v, R! ^/ O! F* FEXEC sp_add_jobserver   v8 x- l0 H  L6 n
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
$ ?" I& K3 l- q2 T; h# X5 i" E    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')) F( K/ t; b* f4 l5 ?+ s6 c
GO4 S3 N$ o6 c, q5 ^; ~
" l7 n% g3 I0 c# |
; s) k" [6 b: p2 k( l7 c/ V
; t% v# k$ }9 `  K6 c
2 g4 h+ P* h, v  R) y. e( Q% y

( ^3 s! f# v+ J6 q
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-10-27 09:18 , Processed in 0.058281 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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