找回密码
 立即注册
查看: 305|回复: 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作业计划每分钟运行一次-----------------------) |! G8 B2 T+ b) B/ Q4 y3 F; b# t
USE msdb;! S6 T: U0 D; V' X  g
GO
! @6 I( p- @3 `8 Z; m+ y: p& z, [* `; H. j. W
-- 如果作业已存在,则先删除它
( H! }9 P2 D5 P- f6 MIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')! J" |& v! X6 }1 j
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';! R2 D6 U, [  \' }! u5 @# d
GO0 b1 Z- Y" v9 c0 i
- L, J) E4 u8 i" J
-- 创建新的作业8 C9 d0 u: G) Q7 @6 ?$ h2 x
EXEC sp_add_job
6 h/ \$ Z: l2 `5 Q. g    @job_name = N'IncreaseUserCashJob',               -- 作业名称' D! D, }3 T0 e# f
    @enabled = 1,                                    -- 启用作业
4 B+ w1 b$ o& s! `5 N    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
( b. P+ G  p2 h. A: M- d9 v    @notify_level_email = 0,                         -- 不发送电子邮件通知; R$ A$ P& c) V7 K  G- X
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
1 `) L2 F2 C: C! t' O8 }4 a5 Y3 z3 ~  ?    @notify_level_page = 0,                          -- 不发送寻呼通知/ U- X. W0 `( ]9 D
    @delete_level = 0,                               -- 不自动删除作业& [" T+ M! X% R! U9 M
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
/ ^* k, N4 |8 ^+ [" J; X- [    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
/ E2 m5 _; x; u# v3 V    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)6 Q% j) K, Z7 j! I
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
- o1 g9 j+ f& x! O$ |GO* q8 g. L  O( Q
; W: T+ Z  @5 l: @! I' {
-- 为作业添加一个步骤
' t9 k3 {+ l+ K4 c& `5 ]* GEXEC sp_add_jobstep
$ i9 D0 {2 o3 X& p    @job_name = N'IncreaseUserCashJob',              -- 作业名称
9 C4 I$ h7 ^1 m8 Q1 s4 A    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称. e& n2 z7 N4 T1 ~/ X1 q2 l6 _
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
: l$ \2 ?. c( ]1 p2 f# W    @database_name = N'account',                     -- 指定数据库名称
7 [, m% F/ x4 V6 l& Q7 @3 Z" O1 ?7 f5 I    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
7 O% M, H5 _" p: U    @retry_attempts = 5,                             -- 重试次数
7 I/ N; W2 d4 X$ l& k( c$ r    @retry_interval = 5;                             -- 重试间隔(分钟)
, m: n( ?* c* j7 B% \GO+ ^) x  p! x& G+ g" \8 ^7 z
7 m. B# ]& W; k& U, y# ~
-- 为作业添加一个每分钟执行一次的调度4 T3 z& E/ y5 i
EXEC sp_add_schedule 4 Y2 x& ?$ J: A6 k
    @schedule_name = N'MinuteSchedule',             -- 调度名称& p0 X" z# ~* x
    @freq_type = 4,                                  -- 频率类型(4表示每日)
  A% \( |8 q* o    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
& i" d- F% t& B6 q3 Z( H    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)- O- z7 y. R, u2 n
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
5 [" F) P5 I' G- V1 h  w    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
: R1 f) {! g+ Q( N    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
4 U2 ^/ P) B3 {) o0 l% i    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)5 R. `4 f8 r  B" o
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
" l) g4 ^, v4 j; G9 f7 [# JGO6 {+ n0 ]" }7 ]9 v5 M

$ y/ ?3 P0 }: k/ U. \3 p% ]4 i; ~7 e-- 将作业与调度关联起来
6 H, X8 R1 |( wEXEC sp_attach_schedule 0 i$ S3 U3 F) u
    @job_name = N'IncreaseUserCashJob',              -- 作业名称7 W2 ?( p" }( C: H  a$ G
    @schedule_name = N'MinuteSchedule';             -- 调度名称
+ E7 [8 u3 d" `# TGO
, ^8 t6 u  X+ R! V" V6 G2 Y1 K. L
-- 提交作业创建到SQL Server Agent9 b. `) m% Z1 e& \6 C& Q. r
EXEC sp_add_jobserver 9 S9 i! j. ~8 R$ I8 d
    @job_name = N'IncreaseUserCashJob',              -- 作业名称: a3 H0 A. @, W' e( Y
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
% |% l# d4 ]" p* V8 @# EGO, H% ?8 Z" N/ V7 L8 l
* B1 P& Z9 b" d6 I) j  b

# d  g- U9 e- S
5 V( x5 K+ B! f; w( v) a% }. ^) ^$ d+ u7 `) H# g6 |% ?

, A7 y& W6 ~9 N+ V1 J9 L0 `: Y
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-2-23 23:08 , Processed in 0.039605 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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