找回密码
 立即注册
查看: 2217|回复: 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作业计划每分钟运行一次-----------------------
3 P: i4 w$ s$ S' _5 I( y. YUSE msdb;5 C, N) i  J5 n9 v, q- q
GO# B3 M( A3 e0 A; P1 a' a
/ m. V0 r( @" [
-- 如果作业已存在,则先删除它$ j* J: L$ V9 d- z4 u& W! q: y
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')5 Y. S: L  @* t5 d$ V. T3 G8 x
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';) L5 q$ z3 I' o+ v' x" H2 \% k
GO
5 E* w5 E: B* `" C4 n# s, D8 S. ]; Q
# v  p3 Q+ v" B* K' P, C-- 创建新的作业: b: r/ u& ]+ s, p3 K# }: x
EXEC sp_add_job
! _/ e4 s4 [: a. ]    @job_name = N'IncreaseUserCashJob',               -- 作业名称3 X; U% S: v. v* e  a+ O: \
    @enabled = 1,                                    -- 启用作业  c' A' V8 J; e5 I. f" O3 {8 o. Q
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改+ `5 @( a+ {* Y) r3 H) O( }
    @notify_level_email = 0,                         -- 不发送电子邮件通知
) H& Y; X2 |5 |7 t' A    @notify_level_netsend = 0,                       -- 不发送网络消息通知
3 @7 z0 q3 C# U) z5 |    @notify_level_page = 0,                          -- 不发送寻呼通知% _1 L( a& c, K# |! Z3 b; Q" ]
    @delete_level = 0,                               -- 不自动删除作业
( P* e" w/ G) b7 r! B4 e6 O    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
3 \! n/ O/ b5 c) C! J9 A  F. s    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
4 p: f  D) h' S; @! M; x. H, `    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名): e( h( T7 X2 d/ |1 s
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员0 o+ E# H: U* |( Q
GO
9 c8 K/ n# j3 ~
) |9 Y% Z, Q0 \  a$ U-- 为作业添加一个步骤
* N1 i7 u2 |* o6 e. D4 FEXEC sp_add_jobstep
# c; E/ p& ]% B6 M: c    @job_name = N'IncreaseUserCashJob',              -- 作业名称: {; f: k0 Y8 D( E5 B; o
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
) c, {( P: U, H' W# c    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
7 A+ Q! T' O. U$ u1 n    @database_name = N'account',                     -- 指定数据库名称; o6 r, [6 V! S7 s
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)! C+ q8 z$ B- X. g$ x+ |5 y9 O
    @retry_attempts = 5,                             -- 重试次数
0 b9 j  t4 e3 K% e$ Z    @retry_interval = 5;                             -- 重试间隔(分钟)1 Z! Y% |0 X! ^8 m2 E9 @  d
GO. e) ~9 q3 X2 S( L/ c# I# [$ k
, C7 g" ^! Q$ n- `7 ^' N6 I
-- 为作业添加一个每分钟执行一次的调度$ L; m% R2 a8 P1 Q2 E. _5 r
EXEC sp_add_schedule
, p& E2 S1 U6 c: x    @schedule_name = N'MinuteSchedule',             -- 调度名称' ?# V$ g' S9 Z' v* s) S+ J8 J0 \9 p
    @freq_type = 4,                                  -- 频率类型(4表示每日)
9 n& O9 L# @# ]7 p* ~    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
- O0 i1 k9 ?' M. |6 Q6 e& @2 Z    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)1 C8 d7 q8 A& s9 A4 @
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
8 {& J2 x9 t% {3 [9 T  {8 J    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
/ t8 ^! b4 z2 I$ K1 F- Y    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
7 w+ s" m, j, X/ V+ B    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
4 X% k; P+ ~, e( K$ N2 i5 w    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
$ n4 k8 W& m2 G" ^: ?9 hGO
/ v+ f5 \- I3 ]1 c& j! y! W  |& t# Y% ?! `/ {
-- 将作业与调度关联起来0 O3 T7 _$ o* e6 ]3 `! i
EXEC sp_attach_schedule - k  b4 N0 ]/ H: m
    @job_name = N'IncreaseUserCashJob',              -- 作业名称3 \* J: c& }$ R9 i
    @schedule_name = N'MinuteSchedule';             -- 调度名称
/ C0 ~! h+ d& b- C) vGO& U4 T( U7 L" S4 ]3 ?
, B  R/ p- Z! _& ]5 y9 t9 w! b) k
-- 提交作业创建到SQL Server Agent' }; i1 ]. r, n, n, n3 I5 n
EXEC sp_add_jobserver + N' S0 G3 D( t9 R; B7 [
    @job_name = N'IncreaseUserCashJob',              -- 作业名称& ?0 G7 O" T0 S2 R$ P6 `
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
* v1 }3 m- q9 h- h1 T% K6 rGO& K; [& `; @7 x9 Y
: r2 k0 m9 Z' u

. `6 H% Y* P! X' j4 ^' o! O1 A% [2 D7 l) Q% |
8 q5 f3 `% n0 q, @/ j, F" ]

! s0 _* o- h1 S9 b9 e
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-2-17 16:25 , Processed in 0.048441 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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