找回密码
 立即注册
查看: 1779|回复: 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作业计划每分钟运行一次-----------------------" R. O6 `( U% `) v% ^$ ]$ m/ N
USE msdb;
0 E6 f0 j# U: V0 ?1 F% VGO4 k# k5 K0 @$ m( ^, Y0 u6 e: ^' W, j

4 f) i# I0 W8 L, e7 ]-- 如果作业已存在,则先删除它
, Z% b$ `/ Q0 D3 l: k4 g2 KIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
8 ]) j' `9 C% l    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';- {( s! e+ s4 z8 C$ V
GO
  M2 Q! O1 X& g/ ]! ]* c9 q7 d: D9 K
-- 创建新的作业) E& @8 ?1 H* s( h) D
EXEC sp_add_job
6 ^8 d) S! U" l8 ~% ^8 o    @job_name = N'IncreaseUserCashJob',               -- 作业名称
, v3 F/ I/ V, B$ G5 i* I    @enabled = 1,                                    -- 启用作业: |& r0 b# W9 J
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改5 F" P& M$ n( q5 ?  d  w
    @notify_level_email = 0,                         -- 不发送电子邮件通知: ]5 L; A/ ]. e
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
; z1 L0 I& j' U0 b    @notify_level_page = 0,                          -- 不发送寻呼通知
5 M! c& k1 U  U+ S    @delete_level = 0,                               -- 不自动删除作业% R/ o- A, l- w4 S3 d
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
( Z  E6 g; U# u: u. s    @category_name = N'[Uncategorized (Local)]',     -- 作业类别+ e+ Z  E! Y; \
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
1 ?  r+ Z% L  C5 t3 }7 t$ \! ^    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
: T& J7 g) p0 o3 h) B( ~2 U( H9 hGO" L6 K2 F3 R. ^- M! [# T/ r. x1 K
. D, r/ w; {8 v# |* k  S
-- 为作业添加一个步骤1 F! A. v+ k+ r" O  K
EXEC sp_add_jobstep
5 D6 K" |" R; w# _    @job_name = N'IncreaseUserCashJob',              -- 作业名称" ~! v$ x6 ]: c* m8 F  A! F
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
: J! ~3 o4 X; n, L* z9 n    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
& t7 p$ e/ N% q/ |9 y! _    @database_name = N'account',                     -- 指定数据库名称
6 S/ E+ J& b: c+ o    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
7 {3 C9 n6 V) V7 E8 l# I- m: ~    @retry_attempts = 5,                             -- 重试次数
8 H$ n; |, g/ j    @retry_interval = 5;                             -- 重试间隔(分钟)
  _3 p) L0 j3 v4 h5 TGO
( S" G) s* M9 _# V  P& r0 M. r, ?1 g- l  C& j% t
-- 为作业添加一个每分钟执行一次的调度
0 K, j1 t3 H0 H$ ~* LEXEC sp_add_schedule & X! P( ~6 g0 F8 S9 J7 q( v
    @schedule_name = N'MinuteSchedule',             -- 调度名称! C) P$ M7 j6 ~. C2 X
    @freq_type = 4,                                  -- 频率类型(4表示每日)5 p: B' y+ r; A
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
+ [  a4 {( ?  F  G8 e    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
( O0 V# O$ ?: W, [6 H    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)# r1 E) F- u9 S' ?
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD): c, H: ~+ y( m
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)3 C! B$ _$ R7 I+ T* D
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)" ^- a# Z* C9 J( M% M
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)* J8 s' Y) B3 f( R8 V: S
GO2 U( _* k+ g$ s5 {9 S
" e9 w& a6 X# v$ n. [; W. d+ n6 i3 C
-- 将作业与调度关联起来4 z+ L9 G& P0 l& f/ [' K
EXEC sp_attach_schedule 5 e. a) }" e4 s. @/ m8 N
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
/ p0 Q) a4 w. B! v    @schedule_name = N'MinuteSchedule';             -- 调度名称
0 J8 }6 I8 J. ?. L7 iGO
& j; I" @& d7 E4 Y& v8 J
$ B. ?% p: n) D2 \  a- P' @. n-- 提交作业创建到SQL Server Agent
' a- w" w8 }8 T5 BEXEC sp_add_jobserver
8 o* N9 P( }/ J# w( M    @job_name = N'IncreaseUserCashJob',              -- 作业名称! W5 _4 b3 S4 b; k3 Q
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')" ]. o1 r* E) n- G  J/ @/ Z3 a
GO: [3 W; A% _3 L( e

' `5 C& N% Z5 p' T, G' [( O4 n8 E0 a; X3 l  W" L# S
" K4 q  g" x+ U3 r2 @( _7 N7 ]
3 `4 W  d! s( R# T

7 T+ ~* m% Z1 [" E' ~( h$ k
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-12-12 08:54 , Processed in 0.064557 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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