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

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

[复制链接]

2

主题

75

回帖

854

积分

高级会员

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

2

主题

75

回帖

854

积分

高级会员

积分
854
金钱
716
贡献
61
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
" j5 I& a& \, z2 bUSE msdb;
) [9 D7 F7 G- z( `; P. hGO+ b1 J7 t) u' a! ^& H

+ B# q  X" i. A# H0 l-- 如果作业已存在,则先删除它
  {  f/ x+ f! k# U9 h: OIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
# [0 {5 _2 ~$ m, a. k    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
9 x  m- u- h- t/ m0 q: c, {( ZGO
- R, h( g" E' z% e- g& R
- H8 I: V6 B' Z0 H: z; s-- 创建新的作业
% B4 w+ [+ V/ @  [5 bEXEC sp_add_job
/ h/ o2 X/ `- g0 \    @job_name = N'IncreaseUserCashJob',               -- 作业名称
; {1 f$ }0 b  |9 `8 O    @enabled = 1,                                    -- 启用作业
" m6 I6 c- y) Z9 ^    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改6 F4 Z( q$ o& z8 a. G- I  U  D2 T
    @notify_level_email = 0,                         -- 不发送电子邮件通知  A0 E- ?! V9 ]2 t. x
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
+ ^* _8 ^: b; }  E    @notify_level_page = 0,                          -- 不发送寻呼通知
0 X% b0 f2 _5 g    @delete_level = 0,                               -- 不自动删除作业
: u! D1 z% g( ~/ \0 Y. l    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述3 u6 K' @  T: ?
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别6 a- |  Z: Q- V7 p. {( y1 J. \/ A
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
5 O8 k6 P8 }) g2 j! ^    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
; t3 U8 ?% V, Q3 R" d" oGO
& U: ?( n0 w1 p1 ~8 u; A% f' {; d. w
-- 为作业添加一个步骤. g9 O8 K) c& u/ M6 G) {6 }0 T7 q$ }
EXEC sp_add_jobstep 6 q" y. L9 G8 X5 O
    @job_name = N'IncreaseUserCashJob',              -- 作业名称3 Z1 W& D6 S# U: b
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
- I. y- ?1 l$ R7 a' X( Z  z    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL). O8 ~! R9 B. B# Q, ]* K
    @database_name = N'account',                     -- 指定数据库名称
; c8 q  l& r7 k7 W, [( K1 d    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)4 T& a+ }* c3 i5 f: ]
    @retry_attempts = 5,                             -- 重试次数
8 c  N1 \) p, t  L% Q    @retry_interval = 5;                             -- 重试间隔(分钟)
) C3 @  s+ U/ }7 |& dGO
4 {4 t! C' u3 u1 G3 D
+ z6 D2 k' _! Z2 z; r& [-- 为作业添加一个每分钟执行一次的调度
! k0 x2 l: A$ `& hEXEC sp_add_schedule : D. b2 n( \  y  y& R( I
    @schedule_name = N'MinuteSchedule',             -- 调度名称& G/ t* N" L( |
    @freq_type = 4,                                  -- 频率类型(4表示每日)% y1 ^- w& ^/ ^; W4 i" b" Y
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行! q! g- D* F7 Z
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)( Z4 \+ j% y& w3 W! b$ N9 |% _
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)- Z: w% M: M% e8 W$ P9 d  N
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
. A% F6 r2 I0 s0 P0 k5 k: X    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
, f( |, k: |8 f$ n8 w! B0 @- o    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)0 ^6 a/ u% T, n6 o# g* A
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)- p+ `# x7 Y+ {/ s& w) {
GO
3 ]( W' D: j$ ~" W! ?: W6 J7 u' P0 J2 r1 ?# F
-- 将作业与调度关联起来5 E0 `( g/ c& W) i% v8 L
EXEC sp_attach_schedule $ ^/ u1 X7 g) G* ?9 w3 r, b! h8 G
    @job_name = N'IncreaseUserCashJob',              -- 作业名称2 d" S& Q- f# S3 p# E  i! m, ]
    @schedule_name = N'MinuteSchedule';             -- 调度名称
" w( n- }" ^) k& R# EGO
: O' G: }% X( \& b3 b! F+ r+ N$ [. W
/ P! k5 Z: u+ n/ E! G0 `1 I-- 提交作业创建到SQL Server Agent" X1 t& B8 _5 M, E6 X- n% X$ }/ Z
EXEC sp_add_jobserver " {* M9 Y( l/ P" C1 Q
    @job_name = N'IncreaseUserCashJob',              -- 作业名称: ~- s% Z0 S+ N9 [
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')" T: `5 z% q5 _7 A& S) ?
GO1 u" c8 w5 a# D' U! S0 x! M- N
- H# t. T+ D; }* d* ?0 z

: L( V% h8 L3 Y- R. a1 C$ L* f  E: ^

0 C3 H( N5 w- N/ _' J7 }! x; {  |; ?* l' B3 \' N1 m: f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-2-7 23:30 , Processed in 0.050479 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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