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

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

[复制链接]

2

主题

75

回帖

812

积分

高级会员

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

2

主题

75

回帖

812

积分

高级会员

积分
812
金钱
678
贡献
57
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------* K4 g! [8 S2 D' n* b
USE msdb;& g* T* u! _6 ?
GO! S/ y$ ~& O$ i
" |! {7 L, G  D& E- ?2 c  `
-- 如果作业已存在,则先删除它
* o0 }3 F9 o+ Q# i9 RIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
$ L/ @" Y; G9 E; i. N    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
0 y3 }2 N$ c9 n/ z' \/ JGO
: ?: l( t8 z4 z( J# e# |' O
% N& X3 r+ r8 ~) x-- 创建新的作业2 b4 o/ E* R9 O, ~  N. [0 g. y
EXEC sp_add_job 2 ?9 O0 z, c, }
    @job_name = N'IncreaseUserCashJob',               -- 作业名称1 `% J2 n; N  W+ o
    @enabled = 1,                                    -- 启用作业6 d8 s. W9 B$ d
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改7 h7 O  b- h' n# `% W/ L8 ~2 f! y& s
    @notify_level_email = 0,                         -- 不发送电子邮件通知
" n$ x+ K* Q) k' `' p( [" y    @notify_level_netsend = 0,                       -- 不发送网络消息通知: s! T& ~+ F& c" e3 W( Y
    @notify_level_page = 0,                          -- 不发送寻呼通知
' l) b% G6 p8 d" J6 Z4 Q( p    @delete_level = 0,                               -- 不自动删除作业' ]) ~8 ^, ~6 X6 z' ?
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
  o+ E. I0 L) J    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
( P$ X1 z( m  {. Z  F- i/ i    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
+ g0 T3 {* G; C. w2 i    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
8 ~3 K* g& E1 d' J% cGO, I, U- [; S& [) A8 h: Z4 B! r
# s  N; U* x5 a5 A" e
-- 为作业添加一个步骤
) ?9 G% S2 j% zEXEC sp_add_jobstep 5 J2 V5 }+ M' h) Z2 ]( u$ x' m
    @job_name = N'IncreaseUserCashJob',              -- 作业名称- Z3 ~6 a8 f( l- a
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
9 A4 d" }2 c" ?  Y% s    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)! U0 @( P# M9 |7 W- j3 H
    @database_name = N'account',                     -- 指定数据库名称6 w+ R, l5 Q9 D- k# p- n$ n5 _
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)6 c0 [8 I$ r$ ?' m* v
    @retry_attempts = 5,                             -- 重试次数+ ?6 O0 }7 Z5 U" o! V
    @retry_interval = 5;                             -- 重试间隔(分钟)/ O0 U& O# [6 U3 u$ O6 p* X- T
GO$ n3 l4 H$ {. W' x6 E
/ S; C9 s3 B1 o  @% s/ ~
-- 为作业添加一个每分钟执行一次的调度1 V4 }. ~- C" b: P" T& I& C5 {
EXEC sp_add_schedule
  n$ }! }, f8 Z9 \    @schedule_name = N'MinuteSchedule',             -- 调度名称
' {2 i8 C( \4 ]2 A0 c    @freq_type = 4,                                  -- 频率类型(4表示每日)  E: i5 ~% `; n
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行% h+ G% B+ [4 O7 S
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
5 @) {5 r# I: ?3 }$ R, t    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
: O9 f% N* q. H) a- s    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)' B2 J' n# R" I% c+ N# e
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
7 b  E4 l9 `* m5 q    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)2 o/ B  B% _1 L/ S% i
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)$ c1 B8 }; I: y  Q  d, X
GO
2 Q1 J; M) D% ]+ ~; p& b4 q
- Z7 e; S# h, L& _& U. T1 f" P-- 将作业与调度关联起来
. G5 Z! i) }5 @5 GEXEC sp_attach_schedule
2 _8 m, ]- U. y% R    @job_name = N'IncreaseUserCashJob',              -- 作业名称
9 g5 x- q( e  z) Q    @schedule_name = N'MinuteSchedule';             -- 调度名称( ?) B1 i, A5 o/ w1 t0 |1 b  Q
GO
) a4 d0 v7 p) }  t7 b( }3 Y0 }) e1 A+ V# L% @1 K
-- 提交作业创建到SQL Server Agent4 ^3 l( b1 a6 p; ~% o
EXEC sp_add_jobserver - q8 ~1 b  v' N" l+ Z  K8 _/ y0 m
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
( @* Q3 x; h4 b    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
4 Q) [9 v7 d# J# ?8 mGO
  N8 w# Z& n# r' V: r  [! W
9 M' w) Y% u* R- k# W" h' s7 p# v6 `' M, Q& o/ H! }
& F( m' |# o8 U6 ^
* m8 s- C. e; O4 u3 ~; s
1 Y. ]3 p7 U9 z+ I" l' w2 t
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-12-24 03:39 , Processed in 0.073888 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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