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

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

[复制链接]

2

主题

75

回帖

867

积分

高级会员

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

2

主题

75

回帖

867

积分

高级会员

积分
867
金钱
728
贡献
62
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
0 Q6 o7 o7 O' ]3 [USE msdb;
. `* k- ~7 D" `6 @2 b8 XGO
$ r: M" G% M& g5 |* {, I, [6 e
; W- r1 O0 f. f5 h# f/ V) U-- 如果作业已存在,则先删除它
" x2 a" P( s$ s; G. y6 a1 ]$ dIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')' g8 ^9 I0 d/ K: M7 g  P/ f; a& J
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';# S: l' S, k* y5 S1 L
GO
0 @6 ]: D. [% x: q+ `- }# l
/ J" ?& E' z) r' D-- 创建新的作业
$ n1 c- F, s) I0 hEXEC sp_add_job 5 B4 A* y9 E" c3 o
    @job_name = N'IncreaseUserCashJob',               -- 作业名称8 W. S9 ~  \3 c" I% b2 ~+ t& K" V
    @enabled = 1,                                    -- 启用作业
% [! c1 ?0 W( ?% @    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
, n& ^7 }! @* e0 I    @notify_level_email = 0,                         -- 不发送电子邮件通知
& ^3 P0 _9 `8 y    @notify_level_netsend = 0,                       -- 不发送网络消息通知8 m% i( D' c4 ]6 o. y/ d
    @notify_level_page = 0,                          -- 不发送寻呼通知
0 l, e* m5 I, e7 L# j5 G3 W    @delete_level = 0,                               -- 不自动删除作业# M) M2 u, `# K2 l" ~( w0 ]4 t
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
# u6 f; ?! h4 ?2 J: K0 p    @category_name = N'[Uncategorized (Local)]',     -- 作业类别" M5 E+ M  v3 E, m0 j; v- H3 d8 E' V
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
9 J) Q, q/ ^. d    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员1 \+ n" @, s; m
GO
- [+ L4 @2 C0 |: U" Q9 D' ]% _2 n7 A, V9 O2 s; `5 A' B
-- 为作业添加一个步骤
- [* F: x5 L4 r8 M1 t0 EEXEC sp_add_jobstep 1 v6 H1 }3 Q- S* I- i/ U6 N' {4 \
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
$ s" @4 ^# C& M; p* Y$ I    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
0 O4 L$ X* d) g% V$ `    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)# f) q5 T0 z2 H) l' e0 d7 m
    @database_name = N'account',                     -- 指定数据库名称
3 O/ T1 `4 W# O( ^# y    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)+ Z* E# B0 \, k% G2 P0 f
    @retry_attempts = 5,                             -- 重试次数
+ l1 j! {) Y7 M3 o$ s& L    @retry_interval = 5;                             -- 重试间隔(分钟)9 j1 Q& h; t/ |5 {2 j/ i6 g; L+ c
GO2 b3 K, |) z, w/ U
0 D9 |% v7 }0 U  l) O9 G  P
-- 为作业添加一个每分钟执行一次的调度" f0 V: g$ ^; I1 C6 @
EXEC sp_add_schedule # t, U% m! a) N% t- c9 |+ B
    @schedule_name = N'MinuteSchedule',             -- 调度名称. d: V+ l5 w1 }- j2 H3 d; ^* @5 M
    @freq_type = 4,                                  -- 频率类型(4表示每日)! j! p; x0 t* h* W4 ~
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
+ H' z  \8 f7 M9 K, L! i    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟): i& C: v7 }9 w7 b) T
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)) s% n5 i+ W4 O+ B% ~
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
/ _* l/ h! \, \) I, K8 n9 m, }, T) L    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
* m" x" q. I* }$ T, N, S- I    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)2 |0 n/ c3 R" `4 _  n. q. F" {+ r
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)/ D/ e: I. _# h; k1 m
GO! Z4 a0 y" U8 Q  \# Z+ i! E
+ Y. X5 n$ u  W' P& u
-- 将作业与调度关联起来
; c; e+ i. e0 e7 G* S8 sEXEC sp_attach_schedule 2 J8 e. n, x2 u0 i! c" K8 g& k- {! h
    @job_name = N'IncreaseUserCashJob',              -- 作业名称+ R5 A1 F# v0 I
    @schedule_name = N'MinuteSchedule';             -- 调度名称
- I- Y9 n8 O, j0 a$ Y: P! SGO
* D% i. _6 s$ V6 \+ y0 l+ y3 O; o! L2 E1 \
-- 提交作业创建到SQL Server Agent
% ~7 b, W0 P& S- |) t8 EEXEC sp_add_jobserver 1 b( R, ]' ]4 C; B- z9 k! s0 h
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
( J9 l9 g; D' C+ m4 L5 Q    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
9 P' ?$ ]4 ?, `3 ]- t# [GO
- j8 Z  T+ A9 ~- L* o% {
" i$ k- R/ L  I' F. ^! O3 e, W/ l; y, o& J4 q, _, S8 }' S9 Q/ K

$ j4 d8 S+ U6 F7 u5 ~1 @6 ~' @0 k( M0 e$ {: r; Q# ]3 B
  O$ z% r& y* s
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-2-9 00:08 , Processed in 0.085560 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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