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

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

[复制链接]

2

主题

72

回帖

303

积分

中级会员

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

相关帖子

2

主题

72

回帖

303

积分

中级会员

积分
303
金钱
207
贡献
22
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------% M0 N( C$ u% F! h# n$ P
USE msdb;8 X3 w. y( O% ?" m) _) y
GO# {8 w% M. Y3 N7 v+ H- @! S

- Z- F( ~8 D/ B) }' o- r-- 如果作业已存在,则先删除它
7 u/ f% M2 k% R! x% a+ S/ D  kIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')7 O  g' U. ]7 |/ j6 }
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
' Z  G2 c: w% `GO- Y/ E5 V  ~4 z# p7 M

$ E: d1 j0 U( J) k6 x-- 创建新的作业
" W! U+ q5 L2 ?4 p5 S4 t+ EEXEC sp_add_job : {- l- Z/ x# r( g  r% A
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
# A5 k+ v9 G, d7 J    @enabled = 1,                                    -- 启用作业2 q+ Q- |( \8 @3 _
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改7 {. x$ n3 I. F1 h* M' ^
    @notify_level_email = 0,                         -- 不发送电子邮件通知
0 H8 u, Z/ k. Q    @notify_level_netsend = 0,                       -- 不发送网络消息通知- L2 p/ ]: B2 [0 n7 ^5 H8 d
    @notify_level_page = 0,                          -- 不发送寻呼通知  C1 v/ D; H# l/ l
    @delete_level = 0,                               -- 不自动删除作业
( ?1 y! k' m) [    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述" q# v5 r3 V) c* W# ^! s4 |; R+ r
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
  Z9 O* V( J6 B# ?    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)' z/ g4 O1 D: k) b4 Z
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
. N* ?# n: U8 y# n$ JGO2 j& i% H9 y  Y4 W

" r: U$ R7 y2 k$ c' A) {-- 为作业添加一个步骤
  O" h3 @1 d# o8 LEXEC sp_add_jobstep ! A) J' c* G9 _7 v' e
    @job_name = N'IncreaseUserCashJob',              -- 作业名称7 k& l8 i3 W. I* Y' V, g
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称2 K) b' w2 E( `* F- h
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)1 B3 q5 R4 V) }% {- S3 r
    @database_name = N'account',                     -- 指定数据库名称
9 T) J/ L" ^* u5 ?5 d- R    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
1 i( _0 _  s- B( o    @retry_attempts = 5,                             -- 重试次数2 a. [6 y9 q" l& U& ~3 @
    @retry_interval = 5;                             -- 重试间隔(分钟)0 h2 N# K. _! i) k8 Z5 y4 ^- A
GO- p9 ^8 ^9 \2 w6 O; ~
" b7 i7 c# H8 x8 T  I
-- 为作业添加一个每分钟执行一次的调度
. _! x8 q" R1 k% KEXEC sp_add_schedule
. Q$ K$ O1 \% ]: o* h& q* O- `# y' F& Y    @schedule_name = N'MinuteSchedule',             -- 调度名称  I* j8 W% Z9 l+ @# O
    @freq_type = 4,                                  -- 频率类型(4表示每日): g0 g9 ?) D" H
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行9 o) I9 `! f! L" G1 N8 ~
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)& ?# }; y" P) f# f& B
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)9 R( D# t: ~5 [* y
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
; S& g, v8 S% b$ |    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)9 O/ q% w7 ~, `* b& X) q  \
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
4 W; V9 V- c+ Y0 [    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
2 W* C, F* T6 k& uGO2 u9 S  j$ t) h% ]5 D' D# W, i' F

! ?* }) @" v% A- v8 y-- 将作业与调度关联起来/ a/ |# p  {; P' o6 D5 v# S
EXEC sp_attach_schedule
- A0 U" [3 u* s* Y7 B    @job_name = N'IncreaseUserCashJob',              -- 作业名称
, x5 n  l& w  b0 W4 @& X    @schedule_name = N'MinuteSchedule';             -- 调度名称3 J: N7 N* G& M' q$ P& o3 d. R
GO
" ^- ?) |( N0 B( [* ^; C' @  c
  O  x2 B" R. P/ T3 @- X-- 提交作业创建到SQL Server Agent
! v# Q' v- U+ S7 a) r) `EXEC sp_add_jobserver & k/ }$ d( ~3 j2 R0 {
    @job_name = N'IncreaseUserCashJob',              -- 作业名称0 w: {- ?+ n  {9 D
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)'), ], e3 t1 Q. ?0 C$ n
GO: J% y) A1 ?' V: g9 t9 y& Y

4 b; W0 l, U/ o& E# R* w/ |7 g  Q5 ]8 ?
* X6 q# m) A: `8 T& n
% l/ J( ~) n- i
! w) c8 L8 t2 }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-2-23 23:35 , Processed in 0.051446 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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