找回密码
 立即注册
查看: 1962|回复: 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作业计划每分钟运行一次-----------------------& K/ w6 V0 J4 P
USE msdb;3 T! _  b% G* N" N1 c
GO. L, F3 Q1 ]: K& L" Q
1 @6 ?, e. `0 l
-- 如果作业已存在,则先删除它9 N, j  R$ d3 w+ p
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
9 Z- S- t$ ^5 i! V    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';0 w+ t7 a$ }0 s8 y
GO: u+ f3 D' r& `! D5 d  {, g
9 y& v+ Z" g7 D* [
-- 创建新的作业
; Y! I& O+ J, K$ C5 e- NEXEC sp_add_job
: ]( x0 ]9 S/ J! N# e/ ?2 J    @job_name = N'IncreaseUserCashJob',               -- 作业名称9 I1 T  y7 e5 S0 }0 j; i% N
    @enabled = 1,                                    -- 启用作业. I  J, q/ z8 Y2 m, G6 S" r( N2 T
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
& E0 |: u$ c) n1 D! b7 l& `0 t( O    @notify_level_email = 0,                         -- 不发送电子邮件通知
* O, B/ R! w* g( c. x; _/ z! s    @notify_level_netsend = 0,                       -- 不发送网络消息通知
. m( K6 U. ?% M2 I) ]) m  P    @notify_level_page = 0,                          -- 不发送寻呼通知6 P7 I/ j3 H4 X& w4 k
    @delete_level = 0,                               -- 不自动删除作业
. `9 W1 \& W+ g6 b    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述) I* [: v" D3 O- o/ S% y  U' A/ w3 b
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
& n9 ^9 g% V& |* ]! Z6 z    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
" F4 C' z! X: q1 i, i& @    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员4 p* N( E# k/ w' J/ b# A
GO
6 }2 z5 J( }7 e7 P6 @  J5 i# E0 A: u5 S& }+ G7 H$ n! n
-- 为作业添加一个步骤5 V5 @4 S! i0 L  c* ^: D# O9 s
EXEC sp_add_jobstep
; V- J3 o( |- z4 l- A2 U    @job_name = N'IncreaseUserCashJob',              -- 作业名称
) V9 G6 {' p( J5 |4 ^    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
8 _' G* B, Y3 ?    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
* g, S, ^& I0 M+ E3 ]( d  l    @database_name = N'account',                     -- 指定数据库名称$ B, s" N: d2 b5 }
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)4 \& C% l: K* ^1 W: x* C
    @retry_attempts = 5,                             -- 重试次数0 N8 {+ M/ F8 n6 Y" [3 L
    @retry_interval = 5;                             -- 重试间隔(分钟)
! Q% |. _; M' e( J- PGO1 ?8 ~; s' V, a( b+ C- x
# x& r( K4 ^/ ^
-- 为作业添加一个每分钟执行一次的调度+ s# N' j* ?* \$ O3 e) ?+ g+ Z
EXEC sp_add_schedule 6 J" ~+ a7 h: J0 q
    @schedule_name = N'MinuteSchedule',             -- 调度名称* d: W; A( P& Y; m0 v: O( \
    @freq_type = 4,                                  -- 频率类型(4表示每日)
$ p" _3 k+ F! \( F( g    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
9 I0 ^+ @' R9 S    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)/ Z) L6 |; O( d; Z
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)' S6 f3 u4 T$ M. w% B5 k
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
8 W5 Q& I' Q) m9 F8 r* H    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)+ X, l# j. Q# V# R) d: T
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)* R+ T" v- V3 M1 d' A
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)3 O. o: `7 \* L7 u- e4 l/ i
GO& q- ~, G" l0 z5 l
) b& x* h& L: C# Z% n: O4 P
-- 将作业与调度关联起来2 R7 i7 A/ w0 ~% M! }8 j+ ?+ W1 f
EXEC sp_attach_schedule
( y- M$ k2 A9 {* Y! o* w    @job_name = N'IncreaseUserCashJob',              -- 作业名称
9 h9 `" i6 k+ O/ d# g" i    @schedule_name = N'MinuteSchedule';             -- 调度名称
- X6 L0 t/ c$ [. M2 hGO
- x3 e) w9 _  H8 P7 x
' H" J. y  L! d3 c# K' @2 @-- 提交作业创建到SQL Server Agent
0 |4 d" v. n3 E# TEXEC sp_add_jobserver 0 m/ [& _. ^( \: S' u- d) r% }
    @job_name = N'IncreaseUserCashJob',              -- 作业名称4 O. O" D2 P, b3 h
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')3 [: V) `# L5 _2 s
GO
0 J4 j; g, j; _/ b: b9 F6 e$ P
8 {: Z9 _3 D' ^; {! X5 x! L' W$ B' r

5 x6 W0 G0 t8 P, G+ S5 B* @/ o. |5 ~; _

% u% V3 U/ E" _8 R* s& f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-11 13:56 , Processed in 0.072891 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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