找回密码
 立即注册
查看: 2629|回复: 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作业计划每分钟运行一次-----------------------  m, i4 a6 R% O( m8 o& M
USE msdb;
& I) T, O9 g2 A% m8 hGO% C* b" t$ n; v

7 z- |. t/ ]1 ?- k/ s, J-- 如果作业已存在,则先删除它- ]8 d: n# I. G5 B- X& L: a
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
  A; q5 Y- u- c    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
' w5 f3 U5 T# x5 g! R$ zGO' j  u. Y9 v7 h( A5 N

" D) P8 k2 C5 t1 S# }6 \-- 创建新的作业
+ I' z" N! D4 i" s% w8 @EXEC sp_add_job * F, g! [2 G9 S/ j$ |3 m0 L/ b7 P# z
    @job_name = N'IncreaseUserCashJob',               -- 作业名称/ y  a( p5 h3 p$ V# C
    @enabled = 1,                                    -- 启用作业# X$ s7 }& k  w# L1 L( d
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改9 U0 s) Y8 ~0 `% B1 U3 ^. p* ~$ J
    @notify_level_email = 0,                         -- 不发送电子邮件通知8 C9 ]+ `) A1 b" _2 d$ X% O
    @notify_level_netsend = 0,                       -- 不发送网络消息通知. I$ ]( m7 p5 l% Z' Q
    @notify_level_page = 0,                          -- 不发送寻呼通知
8 w( b1 w* k' G( e3 m+ T    @delete_level = 0,                               -- 不自动删除作业
2 ?) s( x4 h4 ]9 B* ]* m3 n: C5 t  T    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
% p2 c6 h2 X! v6 u    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
- ~. w/ Q1 _2 g8 ?( S  w; Q: x7 M  ?    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
$ U& |! t5 d5 a5 {. Y, d    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
  B' ~# y5 |. D" Z+ }GO
$ v" B( ?! G5 t- w4 c: u7 ]4 |! v" J' v2 L1 ^5 y) K3 |5 u
-- 为作业添加一个步骤
6 z; n4 h8 H9 B3 N, u& E6 h4 fEXEC sp_add_jobstep $ T2 n, n; L* c( ~, K
    @job_name = N'IncreaseUserCashJob',              -- 作业名称5 n/ [4 R/ P4 S% e: n; R
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
. ?! x1 c* x. R9 `    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
7 I& t8 g' b3 {5 T. s    @database_name = N'account',                     -- 指定数据库名称
( m# q( H6 Q6 Z3 ?' X3 O- D) ^    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)3 X) r/ d" e. H* b- Z7 H' ~- m4 S
    @retry_attempts = 5,                             -- 重试次数
+ t/ p* F4 z8 w* P    @retry_interval = 5;                             -- 重试间隔(分钟)7 S' I1 v6 A/ g$ \9 N: Y
GO% \. c/ }( Z- K' K9 k
, N/ ?! F6 i5 w8 T8 J+ m! P
-- 为作业添加一个每分钟执行一次的调度7 x8 ]" X5 U& s; a. L
EXEC sp_add_schedule $ ~% v& {9 N: S2 o! f: M+ w4 y
    @schedule_name = N'MinuteSchedule',             -- 调度名称
. H" M0 t, }1 Y  g7 @    @freq_type = 4,                                  -- 频率类型(4表示每日)
2 w/ n. V. a2 \8 A+ y& v* ^9 t9 m    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行# O+ Z! U! s9 J
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
! P9 Q& y( f% C) l$ x5 w- p, ?    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)* k" R: `+ B( H+ g0 [2 J
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)( k" R5 q1 m. w8 @, ?0 `; t( {
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
; C3 ~/ O% S: ?, x. h0 A    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)9 F! E8 M0 q5 b' v+ I
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
3 w( c( d/ @; `3 HGO
8 `! C! j5 q' Z, ]! B8 }" o- c5 L- D# y1 C$ ~
-- 将作业与调度关联起来
4 |% O' q, x2 g' T2 G; NEXEC sp_attach_schedule
/ L9 t# Y0 H2 }0 W2 D3 u+ Q    @job_name = N'IncreaseUserCashJob',              -- 作业名称4 {" d% V6 Z8 W/ E4 k0 N$ T
    @schedule_name = N'MinuteSchedule';             -- 调度名称" }- f5 b, K4 h" g
GO$ a. g, ^" a0 R5 `  D! D
8 _1 S& j# D9 n/ T# a
-- 提交作业创建到SQL Server Agent1 h6 x3 X0 U3 I) V( I
EXEC sp_add_jobserver / y, y2 d' p: V8 ^( O7 S; b6 I% [
    @job_name = N'IncreaseUserCashJob',              -- 作业名称! ]) Z2 c/ U" h% m
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')/ W  s( R" T% e4 f
GO2 [2 }1 D8 H/ f- a5 J8 Y. h- y! P  @
; M3 k! R* x$ z3 L" i
2 i; q0 y! l' z( x* Z' q

' V0 q" _: v4 z( M, k: i' j1 O: f- |7 B4 X3 j
4 }/ V" {3 ?/ S$ u; _& X
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-19 03:21 , Processed in 0.036459 second(s), 30 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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