找回密码
 立即注册
查看: 1699|回复: 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作业计划每分钟运行一次-----------------------
* C( t+ s$ d2 @' |0 ]  AUSE msdb;
7 O9 P9 _* c! b- G% h& QGO
$ w' b, X6 c/ N* O, e, l* O
# Q$ A0 h7 M: T( w-- 如果作业已存在,则先删除它, f' v4 {8 i9 ?
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
6 U7 ?( C  }4 ?& r5 n* F5 b    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';( Q; c! Q0 [5 o) Z1 r1 x' m2 V. m0 F
GO
5 L  G+ {3 ]; V- |2 u' G) P  |, X. x
-- 创建新的作业4 ~7 @: T) k$ |5 ~7 Z2 B, z* r
EXEC sp_add_job
% B& r/ Q. R( c  M8 d* p# z, S    @job_name = N'IncreaseUserCashJob',               -- 作业名称
) s2 J$ o% Y! N: S* U; w. R  r    @enabled = 1,                                    -- 启用作业6 N7 t( d8 ?* P# C+ x( G$ f
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
4 u8 b  `2 Z7 f1 z    @notify_level_email = 0,                         -- 不发送电子邮件通知
  p& A( t' g8 C# s    @notify_level_netsend = 0,                       -- 不发送网络消息通知
0 l  y6 Y+ T1 S1 l* `' }, k' `    @notify_level_page = 0,                          -- 不发送寻呼通知7 R% |: a6 {- R2 f! ^
    @delete_level = 0,                               -- 不自动删除作业
! S% c, c. M" u! `" p) f1 A    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
! c0 h/ @! A. A& K4 |    @category_name = N'[Uncategorized (Local)]',     -- 作业类别2 g4 Z4 x9 |8 f4 L
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)7 \1 H) ?2 k. l( O; E% ?
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员/ I$ n4 M. S: N# l9 F$ _# E
GO( M$ f* c7 T$ s2 ^7 A
2 ^0 {5 N, O* F% w
-- 为作业添加一个步骤
6 J2 w7 ~* ~- J# y1 q- dEXEC sp_add_jobstep - }5 z/ Z. B& d
    @job_name = N'IncreaseUserCashJob',              -- 作业名称- L$ U0 N2 X9 b* t$ K1 q
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称$ ~) S$ b  J9 ~) P; Y
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
6 g+ E4 u1 f' s0 v2 K- O: `* E( X    @database_name = N'account',                     -- 指定数据库名称
/ x( ^& }0 z  X* S2 R    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)( u# l! z: M: U6 X6 B6 M1 J; I6 z! y
    @retry_attempts = 5,                             -- 重试次数6 S) `: r5 S( x& z
    @retry_interval = 5;                             -- 重试间隔(分钟)' c* E+ o4 `3 ?3 J- r
GO2 x3 g$ {! p1 {  ?/ f

) m4 p8 M, X) q' n0 ]# c- ]* R-- 为作业添加一个每分钟执行一次的调度
( \5 s) V2 G7 w% A* W) s- L9 AEXEC sp_add_schedule
' A; v2 L( ]# U& E    @schedule_name = N'MinuteSchedule',             -- 调度名称
0 }0 T7 `: e. C" |7 g5 n    @freq_type = 4,                                  -- 频率类型(4表示每日)' Q' X+ A: [" F- t; `8 P
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行; y( P4 ?/ C7 ?4 j3 t  n
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)' B- G$ e1 W' t5 Z
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)( [- L6 N+ u8 U) ]
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)% E1 |# `0 Q, _2 v8 Q/ t& z7 W4 l
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
; R# }1 |8 F8 D. w$ z    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)$ V- e1 s* w. D$ s* J# c
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
) c) y, S) n$ z4 Z8 \GO) C' @  J2 ?, ?" O. M& ]# ?. d

: y7 ~9 ^5 y& l5 i( N% F-- 将作业与调度关联起来! p9 |$ s& ?( O
EXEC sp_attach_schedule - H, I# ~' y5 ^% I  D
    @job_name = N'IncreaseUserCashJob',              -- 作业名称3 C. @: p+ r* d  G9 P- H
    @schedule_name = N'MinuteSchedule';             -- 调度名称
! [! c5 O' a2 w$ HGO
% W+ q3 C( k( L8 l% V1 z
- w6 q- g6 H  m% V( t/ t" a-- 提交作业创建到SQL Server Agent0 r, j7 B2 z, ]% v, X- Q
EXEC sp_add_jobserver # E  G6 }9 R2 W" Z: A
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
8 ~: y3 t1 b: e1 q, j; l/ A    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')- F4 v) Z5 X) K1 E- t' M
GO
$ p: O: S0 Z* _3 e5 p
5 ^3 ^) _! o/ w3 F; l7 ^. Z. `) L) D5 o8 ^! J
  O$ W, w7 s/ }7 e. j# q& o$ J0 _! ]
, R) b$ M1 }2 |) ~+ B" k
% o* _6 F* i$ l" {5 [9 d
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-11-26 12:30 , Processed in 0.084784 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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