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

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

[复制链接]

2

主题

75

回帖

838

积分

高级会员

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

2

主题

75

回帖

838

积分

高级会员

积分
838
金钱
702
贡献
59
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------6 Z- I9 p/ H! h3 j
USE msdb;6 i, ?- O! j# p9 J: h
GO/ r2 T& J: x$ C4 |: _

$ u# a+ D) g8 k, p' f-- 如果作业已存在,则先删除它
5 {! p2 `) g: g+ h& m" q" `' p# vIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')- r9 y7 j9 X3 ]4 ~
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';: h/ b8 n, I7 v- d9 e
GO
! K( I; |3 J$ U( D$ ~3 S
, J7 @' r/ y+ S# h# c/ o! b8 t( O-- 创建新的作业& t& w( m0 e, i& V& W
EXEC sp_add_job
1 x) d+ J) G$ _$ w7 K  U    @job_name = N'IncreaseUserCashJob',               -- 作业名称
; C, ]6 p: t5 g; v3 F8 |  v0 z& @0 ~    @enabled = 1,                                    -- 启用作业+ {/ r9 @. x7 O' x, d- T$ C# D
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
) M7 w  F+ D$ I+ R    @notify_level_email = 0,                         -- 不发送电子邮件通知
8 q' j& ~& ~+ w; P2 q    @notify_level_netsend = 0,                       -- 不发送网络消息通知) ?4 _1 D% x  \( d+ K) N
    @notify_level_page = 0,                          -- 不发送寻呼通知1 A; c3 f, p6 ^3 ?) p+ h3 t
    @delete_level = 0,                               -- 不自动删除作业2 v" X4 |0 K+ H+ f' i8 g1 E
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述$ \' w9 T# t+ Y1 f+ r0 Z2 O
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别$ E: b5 @. R$ ^( L0 u: H1 v. `0 k
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
  t3 q" x2 ?4 j+ g9 S    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
& ]2 u- O1 \- r% X$ oGO
2 L9 [$ {+ ?$ U- M- U' D5 o0 `+ Y4 m2 J; a7 Y
-- 为作业添加一个步骤
% a0 z% S8 k4 S: f9 }EXEC sp_add_jobstep
# N% T5 i- J3 e( S! D2 m9 `% N5 p    @job_name = N'IncreaseUserCashJob',              -- 作业名称
& ?' r: {6 l) p2 A  c  k    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
; E: f( S0 j* y1 X9 v  [    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)3 l) W$ ?# U! |) y& G' P
    @database_name = N'account',                     -- 指定数据库名称5 a' d! @  d$ J
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)8 `7 F) }; k3 N9 n6 J
    @retry_attempts = 5,                             -- 重试次数2 ~7 `9 m6 o( s0 X' U
    @retry_interval = 5;                             -- 重试间隔(分钟)1 W7 E4 Q( R# k8 A- d- G" ^* M
GO  N' G4 N( ]4 U
+ n) I2 H! g: ~9 k0 m9 H4 _
-- 为作业添加一个每分钟执行一次的调度
" l+ E* B9 s, ?3 P' vEXEC sp_add_schedule 6 i* }7 e( {, q0 e& A2 B8 M
    @schedule_name = N'MinuteSchedule',             -- 调度名称
3 X6 k" l, f! [4 I1 o# H# N    @freq_type = 4,                                  -- 频率类型(4表示每日)4 j. P; N0 k# S. I' \
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行( j. K, @+ @( ^. T5 v
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)9 _- V: l' t0 L
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次): ]1 W9 Y/ m: U
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
& g" w& ?' ]* v' Q1 l; i    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)4 A- ?0 ^! @: L9 O% q$ Y4 u; S) |  [
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)! z2 \5 Z: @9 e" i* u
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)  m" g; I3 x7 O6 X$ s7 f, Q
GO
8 C$ T7 R; l& Y/ ]2 c+ D5 [9 V. f- g, T8 _& O' x
-- 将作业与调度关联起来
- ~4 N- x( c! G3 U6 }- v7 mEXEC sp_attach_schedule 3 k3 @6 k! C7 e3 l. f" ]3 E3 m
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
. E! ]! i) I: p' B    @schedule_name = N'MinuteSchedule';             -- 调度名称
* }9 X8 x! E5 y$ X. U% [GO
) C6 C0 e" Y- o6 N5 }! }. {9 ^* a) B6 d" O" ~- ?8 |) l
-- 提交作业创建到SQL Server Agent
. D2 k% p3 d  q, ~1 \6 p  NEXEC sp_add_jobserver
" y( J0 b- i  v( O! e2 b    @job_name = N'IncreaseUserCashJob',              -- 作业名称
& c- a$ Q% k3 D    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)'). X( M1 c' V8 S
GO
& D6 S3 ~. _8 B6 [1 ^
7 W% g! w# O2 X; U: F6 y! T4 @8 ]
2 t$ l: Y3 t2 {0 ]* M8 ?' G9 S. H. c4 X8 ?
1 G$ M3 o9 x! G+ N

8 Q- Z$ s: x" H. q' X' H
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-5 16:13 , Processed in 0.079120 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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