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

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

[复制链接]

2

主题

72

回帖

303

积分

中级会员

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

相关帖子

2

主题

72

回帖

303

积分

中级会员

积分
303
金钱
207
贡献
22
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
. e  r+ Q( p8 tUSE msdb;
1 s4 }% s9 l3 N% z. N) o  y; RGO
' b1 `$ ^) i  O$ V  e% B
8 r: E7 @( T2 k4 L-- 如果作业已存在,则先删除它# K' N6 P  h5 \) A
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')( j* ?$ I/ i7 Q1 b* K
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
9 r: i6 L3 X6 D3 G6 ]GO
& ?3 _) ?9 p9 U+ s( @
$ n6 \3 a8 b  X3 z, \6 z7 F-- 创建新的作业
; x9 K2 z+ P  _! r/ x. O0 z( vEXEC sp_add_job & L% ]9 u' _$ M# ^
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
6 q7 X) F. [" c, }8 R, d    @enabled = 1,                                    -- 启用作业6 S" G) Q+ A2 W  z6 {* k0 y
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
1 c+ T% w1 E: t. m" W8 j8 ^5 f    @notify_level_email = 0,                         -- 不发送电子邮件通知
5 D2 U0 t+ J( p& W    @notify_level_netsend = 0,                       -- 不发送网络消息通知
8 i: K! d* V! E8 K5 }    @notify_level_page = 0,                          -- 不发送寻呼通知
) m+ L, K2 Q5 W9 j! }9 P1 B    @delete_level = 0,                               -- 不自动删除作业6 H9 `( U, z4 S2 P* d* p; }% N
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
$ H( Z, E9 W: e8 z    @category_name = N'[Uncategorized (Local)]',     -- 作业类别( I- u; a( x" n2 y" q" f! N3 t  _
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)% W1 W, g- L% x
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员2 J: ~2 t4 ?' W, T! u- T
GO
6 N; d! |6 K: n* J% {! A4 Y( n! Y8 `. ]5 ], L! p( N% {( _: `' }
-- 为作业添加一个步骤
3 n5 I$ z2 I/ }0 JEXEC sp_add_jobstep
; _% ?. u9 S. U    @job_name = N'IncreaseUserCashJob',              -- 作业名称
6 k* a3 z9 B$ b) f9 f: `5 f    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
& Z( s' y  c: M+ F& I) c    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
, g, ~3 D) z" X5 f) I5 `    @database_name = N'account',                     -- 指定数据库名称
, W, r3 y5 D6 g% k! v    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
/ M% f: n! P( Y" R    @retry_attempts = 5,                             -- 重试次数. }3 z$ z& v! N8 y8 Q6 j9 H, L
    @retry_interval = 5;                             -- 重试间隔(分钟)2 G0 }, t/ V, m( O
GO
# ^" P8 m* R% M3 W; ?
8 j0 w2 d/ G2 G9 ~! }; E- t4 W9 M-- 为作业添加一个每分钟执行一次的调度5 B! G# c! o0 O* x
EXEC sp_add_schedule
9 x, n* }0 t( m, I9 r" a    @schedule_name = N'MinuteSchedule',             -- 调度名称# s& z( _, v- S
    @freq_type = 4,                                  -- 频率类型(4表示每日)
9 F2 P6 ]/ o/ C7 ^8 |% q9 s    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行7 Y4 I( C3 q) U! X
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)1 _3 Y& |% q- S9 S4 E. @) J
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)3 S( D; r3 K2 f. c2 h/ I/ P+ b
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)" |- p4 x- e0 \7 `( ^! E
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
0 e' S( G/ g) q5 b6 I2 ~) D/ u$ |; i    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
4 _0 g  W, `+ g; R    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)/ k( L: K& E2 g8 `
GO
4 [( k! T; u- u# Q2 K. U/ J! y! [( O2 q. i  Z
-- 将作业与调度关联起来
8 O+ h: C" w0 v- Y  R8 a9 REXEC sp_attach_schedule
  Q- w; v' W/ D, c    @job_name = N'IncreaseUserCashJob',              -- 作业名称
9 K; O8 G; V' b' |6 l& [; d1 {; _    @schedule_name = N'MinuteSchedule';             -- 调度名称
0 j# @5 ]' m( K% UGO
; A( l2 }8 P: M+ w7 p  p! i2 Y3 w
-- 提交作业创建到SQL Server Agent
, M" V! P" V. [# B  K0 cEXEC sp_add_jobserver   h7 w" [( ?( F) j6 P' m
    @job_name = N'IncreaseUserCashJob',              -- 作业名称, n+ q: P7 r5 Z# g6 T5 Q. G
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
- S8 s' H/ N. q/ @1 `+ C; rGO/ K+ S" g, H( w, }# M( B( R

0 @. i3 S  M% Q' c
  S; h  [) j. s* A% S, p& Q+ r) M$ k9 o% \: n- d6 P
5 e& V2 O- h4 ^* f9 F6 u
! {7 @/ t9 z1 j* T  {
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-2-22 16:42 , Processed in 0.038284 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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