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

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

[复制链接]

2

主题

75

回帖

883

积分

高级会员

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

2

主题

75

回帖

883

积分

高级会员

积分
883
金钱
742
贡献
64
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------4 _  F4 z) b/ C. t/ ^4 E  v; \
USE msdb;
/ u9 E& P5 R2 b, l1 r: mGO! Y( S" R  ]; P$ y! n7 T

5 M5 @: T( k' {4 m2 k9 X- _-- 如果作业已存在,则先删除它! X+ r. E8 m6 x. d' i" D
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
! {2 J, X  |. Q/ Y    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';) X' v  _4 O7 U8 M
GO
% }1 i: N7 c  g/ J" Y2 Y) O# q% o& G$ b2 ^5 T6 f( R9 f
-- 创建新的作业  i3 B+ T- M/ h( n+ W
EXEC sp_add_job & r* i2 w& L* j/ g# Q3 q. D; Q
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
/ v* g$ W8 e- [( x* P    @enabled = 1,                                    -- 启用作业* q! ^8 j: ?3 K0 \, E/ l4 X: w* {% h
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改; x% O! N' X+ [5 y5 G
    @notify_level_email = 0,                         -- 不发送电子邮件通知" A! }* U+ v7 e# L4 L
    @notify_level_netsend = 0,                       -- 不发送网络消息通知' ^$ x) p3 U8 U9 o0 T9 i5 _
    @notify_level_page = 0,                          -- 不发送寻呼通知7 [  \) m( F) g% v
    @delete_level = 0,                               -- 不自动删除作业
+ C. z% @! X) V4 i    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
- i. c$ C+ Y5 R    @category_name = N'[Uncategorized (Local)]',     -- 作业类别+ `8 w4 a# a: j! U7 X
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)6 B, ^& S! a) W4 L8 a# ^# e6 ?' h
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
  W7 E0 l$ K/ T; gGO% P2 ?! g2 m( q1 h3 L5 D# H: ^/ m

( e2 T& x1 ?2 t8 n4 E6 _-- 为作业添加一个步骤/ y; x3 D) g6 y0 ^, P$ X
EXEC sp_add_jobstep . [  I1 |) W  v) G  i  n( k
    @job_name = N'IncreaseUserCashJob',              -- 作业名称& @# c8 F/ [2 N# t
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称( G! S, }6 o1 M7 ]: D7 F
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)8 o& X- l4 u2 K6 ]5 a' X8 _2 F
    @database_name = N'account',                     -- 指定数据库名称
  I! a! \8 N( F& S7 ~8 f# e6 n+ x    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程): c8 J/ {' V, C7 J6 f
    @retry_attempts = 5,                             -- 重试次数% r, v2 N! K6 m! n1 _( v
    @retry_interval = 5;                             -- 重试间隔(分钟)
/ m' y; R! ?, t& @GO
' c) a6 D" U1 L% h) w& Q
9 r! j- p& b) @8 d-- 为作业添加一个每分钟执行一次的调度
; h% f, J" L' qEXEC sp_add_schedule 5 Q- }9 u- w. A% V% J0 Q, i
    @schedule_name = N'MinuteSchedule',             -- 调度名称
+ l- }' j6 X! ^6 {9 |8 E: M    @freq_type = 4,                                  -- 频率类型(4表示每日)7 I; c" O. O( Z" s4 e# [; N
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
  T* D! X0 ?( m. V; o3 f! n    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
9 M" _' S3 h8 }$ k; e  S    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)+ E, W8 P+ W5 J3 h
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)  Y/ e0 N, \- o* e4 u0 Q  e
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)  Z1 O& `/ H. R1 W+ D0 i( s) q% l
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
/ y0 v* k+ v# g- }' ^0 Z    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
+ ~- A& h* a# J! fGO
! ?* K/ W+ z* f, \8 B* D, M; b: M; T! I) [. ?; f; {( ^7 X
-- 将作业与调度关联起来
  Y7 H; Q+ [0 |/ W# LEXEC sp_attach_schedule 6 m8 d+ H$ X. E
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
2 T9 T% b2 l% ?4 M7 R0 d    @schedule_name = N'MinuteSchedule';             -- 调度名称
9 g8 ^: [+ x; G: G9 g5 gGO
" F" |  d  I: @# R# s, a
$ p5 U* }  }9 B5 {-- 提交作业创建到SQL Server Agent5 `* n8 {2 W* V0 i8 D% x7 R
EXEC sp_add_jobserver
% I# j1 h5 A/ l0 q/ ~& i    @job_name = N'IncreaseUserCashJob',              -- 作业名称
- A& O6 |$ ?* F4 d: r3 a# f    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')! H# c, r, H* r- d) C- o
GO
& Q$ |. v* `; @% w6 J/ x) M' x- ]. U: w! }
# d6 \* |9 W/ y/ f8 A
! n; a( d- z' w+ D$ h$ j( Y
5 O" f& P' H0 I- F
; [- b/ {# B2 f$ b  Q2 G" I
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-18 18:22 , Processed in 0.033968 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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