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

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

[复制链接]

2

主题

75

回帖

838

积分

高级会员

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

2

主题

75

回帖

838

积分

高级会员

积分
838
金钱
702
贡献
59
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------7 ^% v2 f' H; s, O5 r
USE msdb;5 }0 `  V+ r- k8 \& r$ `
GO
# q4 ?" V# T' @. _; t
5 q/ y$ Z3 L/ j$ ]! X' Q-- 如果作业已存在,则先删除它, ]3 y; G' o% d) C
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')! L. B7 n3 l/ e3 ^: }9 ?
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';) H1 ~5 x, z- }  |! |  l8 t8 J
GO8 _6 i7 l( Z6 o: {- W' M: x

- k- X2 m1 A: l-- 创建新的作业. _6 j6 H7 M& s, w' f  ~& U0 W8 L: C
EXEC sp_add_job * k: w; K$ n8 R+ e( G! h4 p* P
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
  X  R$ v0 o4 j; s+ A; }    @enabled = 1,                                    -- 启用作业" c* M" }, U* a8 _+ C( g
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改% M5 \. W& S" @$ \4 J
    @notify_level_email = 0,                         -- 不发送电子邮件通知2 Q% h! H  \& u: S5 q7 C. o( g
    @notify_level_netsend = 0,                       -- 不发送网络消息通知0 U6 U5 F+ s2 v
    @notify_level_page = 0,                          -- 不发送寻呼通知
4 x7 I5 _/ ?) O- K% V/ k; {, h    @delete_level = 0,                               -- 不自动删除作业9 r7 e+ {0 Q+ o) C) {$ V
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述: j, L7 F) J& h8 G) K. \
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
$ ~4 O. {! q# \% z% V) l% f; X    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)+ P7 `; @) `, n+ B) x
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
+ j9 [0 d/ R" y! UGO* h8 ~- N( v& }" J

, \. b9 J5 o& S% N1 Z: s4 ?# A-- 为作业添加一个步骤1 X% Q( @: m- F3 x& ~; H) x2 G( q
EXEC sp_add_jobstep 6 J# I  {  u/ v7 v. [" j4 Q" T% @8 J
    @job_name = N'IncreaseUserCashJob',              -- 作业名称; K0 C' n9 y5 c
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
, w5 ^8 ^# t7 \3 l; G: x& c    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
6 K) H9 f/ Y2 v, c9 U/ l8 F: L    @database_name = N'account',                     -- 指定数据库名称* Z0 H: _/ T2 D: e" X5 C' M
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程). [8 q( Y1 H9 ~2 @( r
    @retry_attempts = 5,                             -- 重试次数
& y% r6 s% \8 O1 I9 U    @retry_interval = 5;                             -- 重试间隔(分钟)0 j7 b! p# q" f# s8 r
GO
* `* O, b. F5 h5 K& ~! b; {: @9 D. u$ ~; F
-- 为作业添加一个每分钟执行一次的调度
  [. Z! Z/ B+ EEXEC sp_add_schedule
2 u' q5 J! D& u    @schedule_name = N'MinuteSchedule',             -- 调度名称& `! G) e) w( [' N1 Q
    @freq_type = 4,                                  -- 频率类型(4表示每日)5 |, @, @0 [8 a; H; S
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行7 D2 U7 R1 D/ R9 v, f" a
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)5 |+ `* b6 r. p0 D
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)2 l" T/ l3 L3 \6 Q/ e/ |
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)/ ?% o5 Y5 W# P" d+ F6 F, J
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
7 n' x, @$ {1 R; D' D! g+ b6 H    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
' X) J0 v: x4 {- n    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)9 @- K0 K$ K- ?. ]+ g9 S
GO9 x( u8 b$ o. R5 T8 V# I# |

3 i/ W" x5 X* U$ N+ T7 l) O3 \3 u+ l-- 将作业与调度关联起来" N) ~, S  Z7 h" B: w# P; Q
EXEC sp_attach_schedule - E2 Z# E8 a: Z8 S3 [6 I
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
: F) O* k& [! y* [    @schedule_name = N'MinuteSchedule';             -- 调度名称, w" T) }+ m7 y% S# j( Z# M
GO$ c8 ?, p+ Z  d, _$ u
) C0 {3 W& a  \* b+ ~+ I! q
-- 提交作业创建到SQL Server Agent
3 t& p( Z+ n# M4 T$ X& T( i) d# a' UEXEC sp_add_jobserver 4 U3 c6 q* ~4 B6 a
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
2 S  c# L: ^9 T: `7 ~    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
2 ^4 N, o! {, }5 j3 x% DGO
* s* c. f4 W! o6 \5 k2 S' [0 @
0 K! j+ _+ d, F" ?
4 W8 i; }6 r3 k0 f0 x0 J4 K$ E& v3 A8 ^9 {$ M9 C$ j% z+ U

& {  }9 m' {5 p# ^& I; i
' ^& ~  {' U( d. c& G% g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-6 18:37 , Processed in 0.065142 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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