找回密码
 立即注册
查看: 2826|回复: 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作业计划每分钟运行一次-----------------------
0 ^6 G1 ?2 ~% B* TUSE msdb;
1 |: X, v# Q) u# ~1 W4 l4 BGO1 ?7 S9 v  I4 v& H

, W% |, T: a$ R8 O1 S) M-- 如果作业已存在,则先删除它) N( z" F! k! Q8 D# j
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
9 ~% S4 [$ S: A  m) S2 R6 X    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';3 F$ x; d" `+ Z+ U, B4 b8 f
GO/ @. x( q3 B' y8 ~' N9 H% G

2 B* ~$ V9 G' u1 n" v, U- t3 _-- 创建新的作业
9 P& `2 n( V9 U. J1 r" n, E' AEXEC sp_add_job
& `+ h( O9 ?0 V    @job_name = N'IncreaseUserCashJob',               -- 作业名称  s# `6 r8 R: C. n
    @enabled = 1,                                    -- 启用作业
6 E5 n" n: l: s% s* u6 X9 I    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改/ V; R* L/ `% ^0 m; a0 {0 a
    @notify_level_email = 0,                         -- 不发送电子邮件通知+ [, I) l8 V* D+ G( \" o
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
0 I" b& W) d6 n# r! Q    @notify_level_page = 0,                          -- 不发送寻呼通知
9 f2 ]2 W/ g( _0 j$ c4 E    @delete_level = 0,                               -- 不自动删除作业' ~  u# Z/ M* D: f1 Y
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
. o5 s. f" A" l2 m( \! N* ?1 p1 _    @category_name = N'[Uncategorized (Local)]',     -- 作业类别+ u, p" v5 ?( u5 a0 i8 n
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)) d- @! \0 M- k% `" r
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员, w9 j) m, x& `4 u4 M
GO
( m4 J  f1 v3 P1 H% x8 n2 x% y9 `/ R, x5 e* g: i$ U
-- 为作业添加一个步骤  ~: J: _/ j1 H
EXEC sp_add_jobstep * h- o' x' I2 |1 E
    @job_name = N'IncreaseUserCashJob',              -- 作业名称3 E+ e% E. M8 A3 m, b% B
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称5 P  e; c- b% f- ?
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
/ x' M. ?5 l: g" ]7 }$ C    @database_name = N'account',                     -- 指定数据库名称
2 @$ L9 S0 X9 q    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
. @+ k! D3 x6 y- i    @retry_attempts = 5,                             -- 重试次数+ B5 L" c- z( N# }, C
    @retry_interval = 5;                             -- 重试间隔(分钟): i& m4 J8 A' l+ _7 V% S
GO( P+ W9 Z1 Q8 ?" q
) c3 y) f, J$ g2 A0 K
-- 为作业添加一个每分钟执行一次的调度
1 \" ?& z7 x% t$ D; v2 xEXEC sp_add_schedule 4 P! ?- W2 C' t% q1 Q
    @schedule_name = N'MinuteSchedule',             -- 调度名称$ l% r( T% [$ v1 z7 t
    @freq_type = 4,                                  -- 频率类型(4表示每日)
& H, x5 i- W/ ^    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
* M0 n% T) i3 A* @- X2 H7 H0 k0 j    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
2 u! ^/ @1 v- D) E    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
. K, _( ^  d/ s! Q- @3 j3 P    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)) q9 z0 T4 v/ t% m, b& [+ c! X7 g
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜), p, v+ a( [0 B. f; {8 |. r! \' w# u
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
$ C. k% q5 ^8 s/ I3 R    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
1 m% A$ Z9 J9 A" x3 u" JGO
& |* |: U8 l! U* f! N
) B2 C+ s$ `5 Y6 n/ _3 y  a/ B-- 将作业与调度关联起来9 }) X) m8 X6 a8 h0 Z/ S1 |% K+ C1 G
EXEC sp_attach_schedule
* m% c1 I3 R6 D1 y0 l    @job_name = N'IncreaseUserCashJob',              -- 作业名称; t' O6 Y0 s; A: q3 W6 Q
    @schedule_name = N'MinuteSchedule';             -- 调度名称
% \! g+ G; k4 A5 J* f  ^) O# wGO2 F+ w/ g  M8 q
2 n9 j, I$ Z2 P6 d" P
-- 提交作业创建到SQL Server Agent
  ?9 @0 l  K( qEXEC sp_add_jobserver
( \# z  J  b) ?# u, ~    @job_name = N'IncreaseUserCashJob',              -- 作业名称
  G, b% {7 ^) I7 w* R+ j$ }    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
( F! A' B7 o( P- ^$ K( V, i5 kGO
5 c8 K  X$ ?5 h+ n- L$ Z( ?+ z' I$ K6 A

7 A" G  n0 D* n; @$ ^6 u, z) D5 O8 Y. B2 }  E
0 f2 ^! i6 a1 ?3 D

8 d$ a0 H/ B. n  ?% `1 g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-6-23 08:34 , Processed in 0.061279 second(s), 30 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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