找回密码
 立即注册
查看: 2399|回复: 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作业计划每分钟运行一次-----------------------" u" [6 I& t. E7 W
USE msdb;: \# O( k8 m2 \) k9 M  l2 @% z
GO2 T% T# l1 h: n. m7 v
: ^. [; R/ J1 G* A8 b
-- 如果作业已存在,则先删除它
) X* \5 K# l* d( S& j: H# q$ @  UIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
/ {; C8 k7 J/ u7 c5 B+ `- D    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
  e% R/ X. y- B" f$ k1 b1 vGO
: a2 B  e- n1 h' u( C5 N. |7 Q5 {1 x, i
-- 创建新的作业
# p4 F0 r) c* R* F: v7 I) s  H5 yEXEC sp_add_job : n7 J% Z) k: N- X. _
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
( L1 w  h3 a3 v5 |. [* x    @enabled = 1,                                    -- 启用作业" ?! Q* Z. V+ ?; z0 }
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改9 d6 ?! t# l3 |3 H
    @notify_level_email = 0,                         -- 不发送电子邮件通知
6 ]7 P+ _! p8 W; o: A& X    @notify_level_netsend = 0,                       -- 不发送网络消息通知
) B  ?% D, |% h, F4 y5 E    @notify_level_page = 0,                          -- 不发送寻呼通知2 B' Q9 y0 y" ?7 o' p! l
    @delete_level = 0,                               -- 不自动删除作业
# ?) s2 i) Y/ w    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
9 ~$ L& M" b; |; B- Y  x& e    @category_name = N'[Uncategorized (Local)]',     -- 作业类别! ?) M! [1 Q. i" W  R7 Z
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
1 M/ o; E. `9 Y2 R$ F6 b: x    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
$ F8 {9 x( K: h% c( d5 h5 a- eGO2 Y7 q8 d- ]  b# `. o4 M& Q

% N" E3 _2 n+ r7 c1 H8 z-- 为作业添加一个步骤
: |/ j( _' c! D9 s* L, ^0 |/ qEXEC sp_add_jobstep
$ C0 i" O. x/ A, `3 t5 k    @job_name = N'IncreaseUserCashJob',              -- 作业名称( l" h+ V6 c) n9 S9 {  m7 |8 B
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称0 l  P! J5 W, Y
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)$ E- P" u% j7 W
    @database_name = N'account',                     -- 指定数据库名称. F5 U, y. i* @% M+ O/ h
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
3 }% o- q2 j4 j" U" \4 ]    @retry_attempts = 5,                             -- 重试次数
! T! p6 J+ E$ U! }    @retry_interval = 5;                             -- 重试间隔(分钟)0 ]: j9 N$ I0 [/ G( w$ b0 H  @0 b
GO
: f7 I4 Z$ u/ Y( L; q7 \
* f% A6 Z. s9 H2 j9 d-- 为作业添加一个每分钟执行一次的调度1 H3 \4 n- S( q% c6 u5 v
EXEC sp_add_schedule
7 {+ b; J6 f2 s% F) i! Z6 B    @schedule_name = N'MinuteSchedule',             -- 调度名称, K/ h( j7 Y7 u+ r
    @freq_type = 4,                                  -- 频率类型(4表示每日)( c( N+ `4 C# O3 d% e- T8 A5 |
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行4 @6 a( Q1 K4 A( W/ K
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)& i7 w$ }4 t; u$ r
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次). @; n& y3 \1 m' @
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
5 ^. \2 p' t2 d* D0 P    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
2 q1 ?6 `+ X2 e2 S& D6 Z    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)' m/ I) D. u3 @. E7 S4 y5 f
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
" n! h7 p: @1 R- `: R  @  JGO( y7 s9 H- f$ i4 l
% A" C7 W, n, x
-- 将作业与调度关联起来
- z6 O5 s/ G% p* y% K: J% @EXEC sp_attach_schedule $ }- y, m0 M- W3 c0 u9 n. h
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
0 D% Y/ X6 H& K8 g    @schedule_name = N'MinuteSchedule';             -- 调度名称' P, T/ ~/ [4 h+ w# m& T7 K
GO( e, T( z  [) z! D0 y) m
4 G5 ?7 P& U7 n$ M9 P
-- 提交作业创建到SQL Server Agent
3 c# T$ H: t' C6 X5 [4 G) g  DEXEC sp_add_jobserver 9 i# c: ^/ q# m- Y( f! e. w0 E
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
8 M, c5 Z# G' h: e) N1 }/ E: y2 ^    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')" n6 e* e6 E" }/ ?
GO
* G- z8 `: s# n+ r. F& d
- b! C; [. L  q( R* W$ P+ O5 X7 D4 j8 `
  X. f( w$ I, G
# }* j$ ~. O) L0 V- h5 N
- M' Z6 H. \- H6 i. P6 O  [! O, a0 U  F! u
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-3-29 12:21 , Processed in 0.054382 second(s), 30 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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