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

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

[复制链接]

2

主题

75

回帖

854

积分

高级会员

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

2

主题

75

回帖

854

积分

高级会员

积分
854
金钱
716
贡献
61
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------5 H. m, H7 W( L7 b2 l
USE msdb;5 S7 S6 a( f/ {* I: U
GO8 y" a* f' L! R3 C; |/ f. |* D

) b5 }" I7 f7 A! D-- 如果作业已存在,则先删除它
, I0 r+ Q1 n/ Y) X4 u7 G1 cIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
) A" _  j0 \7 N    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
1 x! c# y/ g1 u2 y# \8 q7 WGO3 \1 K3 A1 G  w# y- h4 F- y
/ V8 A' U8 s$ B
-- 创建新的作业
8 _1 O) \4 w) t. m- ?# _0 R( sEXEC sp_add_job
2 G/ k* a- k! q- W  z    @job_name = N'IncreaseUserCashJob',               -- 作业名称
7 r8 k5 Y/ `! ?% N9 f: o, d    @enabled = 1,                                    -- 启用作业/ j6 s( p! U) ]* `" b
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改9 E! G0 a0 C; B' k2 X' d3 {. Z
    @notify_level_email = 0,                         -- 不发送电子邮件通知: m" `% k/ u& t" i4 q$ j. t$ ?% u% p
    @notify_level_netsend = 0,                       -- 不发送网络消息通知+ l, P) {: A# Q. H: E
    @notify_level_page = 0,                          -- 不发送寻呼通知/ @$ w. k% r5 s% V- K
    @delete_level = 0,                               -- 不自动删除作业
9 Z* ^) V- T3 g! c    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
; K1 _' A0 H4 u' q: d/ X, o* f    @category_name = N'[Uncategorized (Local)]',     -- 作业类别6 i8 L/ u$ ]9 d( a" a( G
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
1 b8 `" L' L) i6 |1 h/ a0 J: h) ]    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员) @/ t( o3 N+ N1 V" C/ S
GO
/ h9 C4 I+ F9 A, S; }7 P  [3 U/ y- z$ H
-- 为作业添加一个步骤
/ P& E3 V6 T. P$ U6 p. d$ o; k2 M$ xEXEC sp_add_jobstep
/ t' M& N; s1 p+ R9 p, \  q  l# t; n    @job_name = N'IncreaseUserCashJob',              -- 作业名称, ?# s6 g1 l% e/ N
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称! S. ^) n) P1 O
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
. a" a$ |0 U5 i! A! `7 S4 B    @database_name = N'account',                     -- 指定数据库名称6 i. h; |6 P/ Q, I1 K) L
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)2 H6 t; Q  }" Y  f) n( k; u
    @retry_attempts = 5,                             -- 重试次数
# v2 M" P: K  u. B9 o    @retry_interval = 5;                             -- 重试间隔(分钟)
6 L: W; r7 r* G' @( p* x+ YGO4 c. Y$ [& E+ p) }# f- Z" U0 t' @
/ k6 Z" m& p  M  c
-- 为作业添加一个每分钟执行一次的调度
9 x0 t! M) A+ ?) X& BEXEC sp_add_schedule 9 i/ x8 b$ d4 @1 U
    @schedule_name = N'MinuteSchedule',             -- 调度名称
: Q5 H9 X' x7 _- S1 J    @freq_type = 4,                                  -- 频率类型(4表示每日)$ f* @  d% z! n: R
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行% y# P2 p* K" _% O1 _1 F8 _, k
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)) K& R" p( O, w, C9 M
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)3 G% x$ C$ y5 c4 H7 W8 T
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)$ {. W, q* B6 O9 _! E
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)4 p8 i$ N  \+ Z
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期), ~% ]: V8 K! R, Q* u, H
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)$ H& F1 f' S- i- m
GO
7 F6 }, U. X8 T7 |* e5 g& v' S/ I
! ?" B: Q4 o& N; ?2 y9 L* g-- 将作业与调度关联起来
8 o# b5 v" V# m' m4 b& @EXEC sp_attach_schedule % k3 n" K  K* l$ }' ^+ j- s
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
" m. Z/ `2 T. {) q    @schedule_name = N'MinuteSchedule';             -- 调度名称
) h+ c2 p1 E3 d  H( Y, `GO5 E' j* F2 `8 H. ^. T$ x1 U5 S

. K" P$ Q) x' T  k  A7 s  ^-- 提交作业创建到SQL Server Agent) F" y/ h" U5 \, H2 H7 Q
EXEC sp_add_jobserver
4 X8 U8 g1 j# [" {    @job_name = N'IncreaseUserCashJob',              -- 作业名称
+ H' R4 h0 Z/ V/ ~6 ~2 w. j    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
3 o3 s. ]! u# C3 I; z, dGO: |7 s! b2 q( V+ q5 d

0 J( F: y) I# f* k
0 Z/ a9 R0 N; \1 H" j- {# r% f3 ^3 [7 W+ M6 _
3 w2 k: Q) s: Y

2 c, y& B% j) }9 [/ D# E$ Q, [0 p
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-2-3 22:54 , Processed in 0.066452 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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