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

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

[复制链接]

2

主题

75

回帖

883

积分

高级会员

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

2

主题

75

回帖

883

积分

高级会员

积分
883
金钱
742
贡献
64
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
" ~$ ]- n$ Q; x) z+ R, B' EUSE msdb;
' s8 e) N  x- Z- D; s  DGO* I6 N& Y$ t$ A( s$ k1 R4 x

) @8 Y9 D* \5 c1 @$ d# c-- 如果作业已存在,则先删除它: S  M: R- ?( [% o4 f9 x# p
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')/ p8 T# m+ x& m# T6 E8 L7 _
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';) D4 g! c  Q% S, _6 }
GO1 D! h  @' S$ z
$ I2 F) N( u0 g0 @3 T4 H& i* u
-- 创建新的作业# o; b' m5 b. ~- r
EXEC sp_add_job " {" F% U4 g  D( r. H, D
    @job_name = N'IncreaseUserCashJob',               -- 作业名称4 T! n* P7 i0 r0 G+ ^& M. G
    @enabled = 1,                                    -- 启用作业: i. g: h5 @! a5 p& `
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改* z3 I: s) E. E
    @notify_level_email = 0,                         -- 不发送电子邮件通知
' n- I0 Z2 K! Z; @/ p; h& X    @notify_level_netsend = 0,                       -- 不发送网络消息通知+ W% D& Y/ a0 C( W
    @notify_level_page = 0,                          -- 不发送寻呼通知
/ t2 U& |5 P2 s! |    @delete_level = 0,                               -- 不自动删除作业
& T/ a* Y5 `4 N9 R  r( I    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
6 J' p3 H5 W$ k4 F8 v    @category_name = N'[Uncategorized (Local)]',     -- 作业类别$ e8 }$ ?% v$ i& T9 l7 R
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)5 _( |% Y9 d& ]4 |; u
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
; H% ?8 l' ^+ DGO: r. o2 ?& T5 A0 H
* l  U0 F) k3 r# `3 ?
-- 为作业添加一个步骤" o2 [. I. B$ s4 ~, u
EXEC sp_add_jobstep
0 S& ^# W, P" D4 Y3 t    @job_name = N'IncreaseUserCashJob',              -- 作业名称
. f: C7 W! ~) u9 i6 p: e7 E    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
- b+ G0 j& Y) U2 o% K/ f    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
! `( l7 ^: |1 \% ]3 c* v    @database_name = N'account',                     -- 指定数据库名称
# S9 g1 K: _/ W# }' F7 h: V0 @    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
0 ^. X' D* B- K  j# h* _    @retry_attempts = 5,                             -- 重试次数9 S1 d# g1 _: o+ `" h- c. r$ o* l$ N
    @retry_interval = 5;                             -- 重试间隔(分钟)
2 M/ R: Z) y9 t) B9 RGO* ]1 I, r0 v% R% {; `; D

* B( _; R( }5 u" ]-- 为作业添加一个每分钟执行一次的调度1 v- I( E( g- @2 e8 M
EXEC sp_add_schedule 1 H" r0 U% y" l0 d5 z; ?6 j
    @schedule_name = N'MinuteSchedule',             -- 调度名称
! ?# D% a2 m9 g3 K, l    @freq_type = 4,                                  -- 频率类型(4表示每日)
' {. w8 [% Q+ D0 ]" [/ F8 Z    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行+ d0 M; X9 A  u) |. Q7 l
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
  d: Y+ N8 z8 w" X* X; o    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次); w* \' h  K# d0 U
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)8 V/ d* r0 L2 `0 Q9 H. r
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)$ h# }- R& ^4 L, |) ^8 S! F* b
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
, G8 C+ Z9 U6 Q% s    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)0 S: u2 k2 z/ j$ `- D" K( y
GO
7 C; x' U+ z- G7 b! I: P/ l6 e1 N7 D2 L" J
-- 将作业与调度关联起来
. T( b& K* [4 P% iEXEC sp_attach_schedule
6 e0 M2 d8 k/ q3 Y    @job_name = N'IncreaseUserCashJob',              -- 作业名称9 Z2 \" |. p/ ^) }: Z2 }) a
    @schedule_name = N'MinuteSchedule';             -- 调度名称( j5 L( L& K2 g) k6 D
GO% U  q6 Q: G5 X2 `# K% J" h7 N

- ^+ c% k; \( V; t+ u$ g- I) I6 v/ r-- 提交作业创建到SQL Server Agent
# F; R5 c# v# I! m( G( M5 dEXEC sp_add_jobserver
2 R, }0 Y2 A" Y3 ?    @job_name = N'IncreaseUserCashJob',              -- 作业名称/ {6 g5 H% x$ J2 m' J7 R
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')$ Z0 y# U$ }6 Z& H7 R- h
GO. m% T7 a+ Y, x+ L8 e0 {0 ~
0 @* l6 E/ s2 m; V6 \3 [+ h

/ p6 S1 P; e  ]/ m% Z' K2 d4 e/ ~6 I; D7 x, p% o0 h. ]7 ?& r) K
$ z5 Q3 N$ }$ x. r/ A7 Z# B
: p* C. X4 ^) q7 _
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-18 15:17 , Processed in 0.044344 second(s), 30 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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