找回密码
 立即注册
查看: 1780|回复: 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作业计划每分钟运行一次-----------------------
! x/ M( e# l+ gUSE msdb;
% X# ]3 a2 j" j. |" w7 {" c6 V  c3 {GO
$ W. k3 [. E6 z$ ?$ u' R' n( }$ W6 M6 \  j* s
-- 如果作业已存在,则先删除它
0 |/ H+ I& j4 yIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
8 Y/ v8 e$ e( i8 n  T' K  }" D$ d    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';& Q  L* X% D) l: Q
GO; W% S, \# l& f1 X1 u

' G0 X% v3 V. ~; T/ r0 X5 n: V, s-- 创建新的作业0 R7 L) W) }  Y# Y+ D3 ]
EXEC sp_add_job 0 I" O  h! k0 V) V; _- ~, S7 D
    @job_name = N'IncreaseUserCashJob',               -- 作业名称; Y9 g) Q5 |2 D, a
    @enabled = 1,                                    -- 启用作业
. r1 J  U5 Z% a: O- u) X    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改4 B6 J! W# j- O2 B
    @notify_level_email = 0,                         -- 不发送电子邮件通知5 g+ w7 X9 Q3 o6 `
    @notify_level_netsend = 0,                       -- 不发送网络消息通知" n. v, K* F" c1 h, X( n! L
    @notify_level_page = 0,                          -- 不发送寻呼通知0 N; v! f/ Q9 K4 |! M
    @delete_level = 0,                               -- 不自动删除作业
5 c, s& h3 s* Y; ]7 m1 y  d    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
5 Y, u. f- T& y8 N8 X* x    @category_name = N'[Uncategorized (Local)]',     -- 作业类别$ ?4 Z1 U- i) e- {" r# L
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名), H/ w" b1 w  E8 U$ ?% ]) g3 B) A
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员. [/ x0 Q: a: Q4 G" W* M( H* s% u" A
GO% [, m2 @0 r% N( f: X+ m. X! q

) }$ J- O  `- [-- 为作业添加一个步骤, q1 M1 K/ d) r; |$ K7 ~
EXEC sp_add_jobstep 4 H' A. N9 B! ~4 g$ Y6 V$ D" s
    @job_name = N'IncreaseUserCashJob',              -- 作业名称! B& u$ l: _* _$ M0 H/ R, z
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
; H) J/ i& }4 R. C2 D    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
) v' x2 x  ^) I! S+ e    @database_name = N'account',                     -- 指定数据库名称
; {! K5 @5 D9 N6 C    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)% O9 @( E4 s* T
    @retry_attempts = 5,                             -- 重试次数
6 `% d9 r6 s7 C# }( ]    @retry_interval = 5;                             -- 重试间隔(分钟)* D0 m3 v' a+ ^
GO: N3 n: `2 V, l7 n4 X& ^) z

% \. b. D; R- X& R3 E-- 为作业添加一个每分钟执行一次的调度
. ^- z, e8 @, s  D2 X! T- C. k; yEXEC sp_add_schedule
: B+ R# v2 r" m    @schedule_name = N'MinuteSchedule',             -- 调度名称4 s' Y- O6 [7 ^# U* u" \) j
    @freq_type = 4,                                  -- 频率类型(4表示每日)
; |9 U3 V7 d& j) [' h6 {    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
- @6 K  X4 p- S( [    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)% s2 _0 P5 Z- s9 l8 i" P' `
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)& F/ \5 O9 d# |( c
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
8 C, d5 [4 `4 s$ R5 i    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
. h, t2 e: v" C6 E  p3 f2 X    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)  ~: R( E% G/ S7 r5 ?9 X- r
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)2 y+ {6 D: E2 |/ I! O8 X! x% q
GO- ~  d7 ~) ]1 F) e' V$ o
/ ^- t. o8 p" ]/ y( \7 _1 c! I
-- 将作业与调度关联起来& S9 \& C' K) a. W: [* A4 o
EXEC sp_attach_schedule ' v. P- L" k( s% k- I4 _- V
    @job_name = N'IncreaseUserCashJob',              -- 作业名称& F# b$ V2 k! Z& B2 d# a7 b
    @schedule_name = N'MinuteSchedule';             -- 调度名称
$ p4 S( f4 Z( E8 B$ o4 i* K+ D, ZGO
& T0 L' g; B7 ^- f% G$ s0 p
. `* b% |6 {' M5 g; g6 ]5 @& x6 s-- 提交作业创建到SQL Server Agent0 y6 L" ?) G( M- K/ a# P
EXEC sp_add_jobserver * d: ?( Z6 D- f6 W7 k- S/ n
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
8 L( k* }' E( ^/ w# z7 n" C    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')2 \+ c3 J/ v3 L0 q" V, h4 t7 j% @
GO
9 ^% v( T+ J6 W! _* h1 U6 L
6 r6 }( K0 y  A( E& z
& q* k, g1 Q) c# x1 y) |
7 W6 _2 f4 ]9 E, t! I9 G- \+ ^9 c. i, N, \  i+ \
9 W" u6 I0 i# N5 M1 W6 a* U5 T! U
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-12-12 20:50 , Processed in 0.062112 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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