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

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

[复制链接]

2

主题

75

回帖

870

积分

高级会员

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

2

主题

75

回帖

870

积分

高级会员

积分
870
金钱
730
贡献
63
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------! T, n, ?& m7 L: V7 H
USE msdb;& d% K. p& z" _- c) e
GO1 k( t+ y9 O4 ~' s

7 ?9 H) E0 U. B-- 如果作业已存在,则先删除它
, t8 l1 c1 M& S* v7 v& jIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
) P# @- r  L, r1 o2 ^1 B3 ^* Z1 p    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
1 a& f$ I/ _' ~1 L4 sGO6 M; d& i6 ], C) F6 P/ V
& v) Y7 d) ~3 [- p6 d' U; H
-- 创建新的作业
2 f: K% j! h" C( h& }EXEC sp_add_job
  _- M6 f0 C, R: j9 x# {+ Y' m    @job_name = N'IncreaseUserCashJob',               -- 作业名称' Q, o* C$ |: S# I5 q1 k) s# v( n+ q1 {! O
    @enabled = 1,                                    -- 启用作业# O4 l2 X  G9 r3 c3 S
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改6 _  ^) d/ J. i  p( r' i. F; K
    @notify_level_email = 0,                         -- 不发送电子邮件通知
7 g! `: s9 @" g* Q! \4 P! n    @notify_level_netsend = 0,                       -- 不发送网络消息通知9 h) a3 Y5 ]/ K& k& Z+ \9 P$ s9 u$ ?
    @notify_level_page = 0,                          -- 不发送寻呼通知
  b: K% ?9 k* C' C    @delete_level = 0,                               -- 不自动删除作业
2 [2 H/ y1 O5 c8 m" k2 X    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
7 Q1 W& B  h* ^' W. L    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
* T/ l4 n  M' R7 o: @; v9 Q' A# }    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)" W+ I+ z3 V3 R# }6 v' I0 V; i
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
" g0 D/ e2 k$ c& c* x) BGO
  X7 B8 L0 Q4 F! Z7 y; o, j8 K. T8 w
-- 为作业添加一个步骤
: |0 W, f( X5 Y/ qEXEC sp_add_jobstep
* ~* d7 N' |5 V' A8 @! l3 \    @job_name = N'IncreaseUserCashJob',              -- 作业名称
1 s, W3 }( |' _% O7 E6 t' p. b4 ^" ^    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
0 ]8 D* x1 I- a/ T* B" q; e    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
7 p2 H& X; k3 b/ r7 v    @database_name = N'account',                     -- 指定数据库名称
' k8 x. u; H1 }) ~1 T; C    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
) o2 c- f; E5 r; `4 R    @retry_attempts = 5,                             -- 重试次数
' q, P; f+ `9 M, `+ ^3 q    @retry_interval = 5;                             -- 重试间隔(分钟), u; `, ]4 f1 b4 }
GO7 r8 h0 P; y1 ?: f* Y$ ]. Z3 s8 p

4 E" N" z' P/ `7 [3 C7 T-- 为作业添加一个每分钟执行一次的调度6 j! T% n1 n6 R% {% d
EXEC sp_add_schedule 2 }' x: h1 O# ?0 O' }, q( Z
    @schedule_name = N'MinuteSchedule',             -- 调度名称
- @' u" \- }4 S5 D( t    @freq_type = 4,                                  -- 频率类型(4表示每日)
4 Z7 ?) u( s* }% W% \7 W    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行' N. W0 h" ^' ^- A
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
( m% r8 U: J( q. C) ^! M    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次): q3 ]$ t8 z8 r
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD); T. v* E& L) V$ N3 u& i
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)  t* H. L! K, v9 x' R& a
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)' A  m# n5 S$ U1 w
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)  r" M3 @- _+ S, x2 r& q
GO
% @8 d; t; }7 q! E% Y* S, m; l5 v0 L! a" L" E, c
-- 将作业与调度关联起来. Q' A$ t, I& n* h: n0 x7 q- }) L( Y
EXEC sp_attach_schedule 8 e$ I; g7 Y  G2 E, L
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
& `3 ^4 ~' l* [: z: M! J  l    @schedule_name = N'MinuteSchedule';             -- 调度名称
$ I; m9 ?1 i$ N' I+ I3 fGO
* d( ]7 K4 s$ U! D+ y
# n1 S8 }( a) S. e. W" \-- 提交作业创建到SQL Server Agent5 W0 z6 |) ~" h7 J
EXEC sp_add_jobserver
, I9 U2 r/ S) V% L# ?; |    @job_name = N'IncreaseUserCashJob',              -- 作业名称
. m2 S9 l6 p( j: L: [1 G6 H% {    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
6 b: K2 }/ w+ q3 M. m4 k" k# bGO
/ s# d7 [1 J" f! m+ r8 B* Y2 d& I' o1 C5 E
' l+ f+ Q% H+ G8 O, }

' P9 y- l7 E9 z+ [' m% o5 k* t+ v2 @. x* v% M, B$ i+ |& s0 [

- @- j; B9 z/ _
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-4-29 14:29 , Processed in 0.034566 second(s), 30 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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