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

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

[复制链接]

2

主题

74

回帖

744

积分

高级会员

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

2

主题

74

回帖

744

积分

高级会员

积分
744
金钱
613
贡献
55
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
& X' U8 O; a# E" [8 bUSE msdb;8 Y) o7 C; x$ Y- [
GO
# Q5 d8 j2 F; ~/ i
- z! k2 Y. O8 l-- 如果作业已存在,则先删除它
, x6 z- E, W: MIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')0 t# U0 L+ t; \) }) L+ ~5 y
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
" e) F  h9 d4 a& u: j) g, j6 vGO- G$ m+ m& f; W8 l  R! e" A; I
+ B6 B: W3 p  K9 V  j3 P2 ?8 O
-- 创建新的作业
7 G% d& h8 Z! I2 W/ K9 g5 X- {EXEC sp_add_job ' z$ V& R% _1 }: F/ t) |% ?" M4 U0 L
    @job_name = N'IncreaseUserCashJob',               -- 作业名称* ?1 s4 ]9 o9 u) e
    @enabled = 1,                                    -- 启用作业
6 c. G2 r; v* s9 C* ]! T- L    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
  q& X2 A! @; A$ r' d5 [    @notify_level_email = 0,                         -- 不发送电子邮件通知
+ G6 _+ n) C+ r$ g' @    @notify_level_netsend = 0,                       -- 不发送网络消息通知6 r% T8 t+ h' Q9 f* L; b
    @notify_level_page = 0,                          -- 不发送寻呼通知
1 J/ P7 ~' A. C# h+ B0 S    @delete_level = 0,                               -- 不自动删除作业
2 y- E6 g3 y1 Y6 U/ d    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
9 J+ `, B1 Z1 M, r: h5 a, |    @category_name = N'[Uncategorized (Local)]',     -- 作业类别/ f5 A( k; l* j* ^% p+ Y
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)0 t4 b# t# n' U6 E4 Z& p; y
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
# J, ^7 ]; i6 s3 XGO& V7 N2 G: ^2 C* v$ P& `* x4 u
6 d' P% a6 X# p& h( {. c' I# N7 V
-- 为作业添加一个步骤' O, T! d% K& ~& l/ w
EXEC sp_add_jobstep ( C  z+ J% Y( X0 |8 Q# N2 `
    @job_name = N'IncreaseUserCashJob',              -- 作业名称* t! s, R9 m) u; @! q; p( S) c
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
% B) Z' r- J" j) T0 F' s/ c! D" F    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)3 `, T' f0 f, i1 p$ S: T1 g
    @database_name = N'account',                     -- 指定数据库名称
& p# |6 g  n8 h& E4 S    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)* t; I5 Y) [! s( j
    @retry_attempts = 5,                             -- 重试次数
6 D: t0 @3 t( c, W, C% l# u1 c    @retry_interval = 5;                             -- 重试间隔(分钟)0 B0 F5 i- L- y% g2 r# r
GO
: T* |: d+ J- Q. v2 }
2 T0 W) x5 g) P# a* Y) ?. f# J# ?-- 为作业添加一个每分钟执行一次的调度
1 D7 @/ y' m: H& h! QEXEC sp_add_schedule
; F5 w* u4 p  I2 I5 S    @schedule_name = N'MinuteSchedule',             -- 调度名称& F, G4 T8 c) ~
    @freq_type = 4,                                  -- 频率类型(4表示每日); [8 \" b  [! L# V( Y, H; z* T4 }5 E
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
! B5 T+ W* z1 W    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)' M4 Z2 i3 w* l% e- Y7 r9 a
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
  _/ N" T' ?* K- N9 Y4 D+ Q    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)- V. Q$ l# o- n, L7 t0 t, M
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
/ [! y$ R% p/ H- G& Z+ H( y    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
( D) Z7 |! ?% D% ~5 P    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
& p; M1 w0 o( j# W+ x6 SGO
' V( H2 G6 c, b& B8 a% a# _+ L4 _. l8 V. u$ k, {. @
-- 将作业与调度关联起来7 [5 h& {" Y! n5 R4 Q6 T9 i' J
EXEC sp_attach_schedule $ x3 C/ U6 a( G; Z
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
0 {. `' e  [( m& J- O# u3 U    @schedule_name = N'MinuteSchedule';             -- 调度名称
% ^. m( z: l) \/ Y$ U& G  n8 ]2 c6 QGO
$ z3 Q3 w9 i1 c2 b. |3 z% u7 X  X! H8 U! V, l8 q% K
-- 提交作业创建到SQL Server Agent) Q! v& _' Q' C6 e
EXEC sp_add_jobserver
& `. e4 E6 W* c- J    @job_name = N'IncreaseUserCashJob',              -- 作业名称
; B; l$ u! ]) T( E( F- {, `1 S    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)'), i, L" a& t3 J+ K6 R9 L* F* I
GO
; y- a( {" A' Z: E2 c
7 d0 ~* O/ `6 J, @- G3 E' d+ O6 j) j& v# ~) x( E" P) d( C) n/ k
6 D1 _1 q& E: {. [5 V
. ~) h9 v4 b- H# G# c8 F% R

1 g* Q  E) C- ?+ a, i$ c; C, R
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-10-27 09:30 , Processed in 0.055389 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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