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

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

[复制链接]

2

主题

75

回帖

870

积分

高级会员

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

2

主题

75

回帖

870

积分

高级会员

积分
870
金钱
730
贡献
63
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------2 q& w, ]7 Z; B8 D4 J0 x2 c" x' N
USE msdb;
# \1 q3 k  P" t# q5 k. ]( qGO* K" Z- M7 D& o8 Y" C% q

6 e! P8 v1 l+ n# x& _-- 如果作业已存在,则先删除它7 F. f+ m# D$ Y1 ?1 q0 o
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')8 @9 z7 h5 L! Y) }
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';6 l( R4 \1 x' H+ R! T& {
GO
$ @% e) I/ K% P3 C, B( j- ~) v
  I, I# A( {1 f3 h) h) S-- 创建新的作业$ ?; e: G3 m+ a4 S* W* F- j2 ?7 \- i3 O5 j
EXEC sp_add_job
; X, i7 d4 v) Y    @job_name = N'IncreaseUserCashJob',               -- 作业名称! K. }1 z, a0 l: [
    @enabled = 1,                                    -- 启用作业
7 O! \* R; K4 ]7 k& m    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
! i2 O1 f3 R* t; @+ J. |    @notify_level_email = 0,                         -- 不发送电子邮件通知+ W$ K# R# ~1 u- j! @, Z
    @notify_level_netsend = 0,                       -- 不发送网络消息通知! G+ E# K$ s/ Z* K2 O
    @notify_level_page = 0,                          -- 不发送寻呼通知
, y* C9 i* ~- u5 B, e    @delete_level = 0,                               -- 不自动删除作业
/ L$ ]# h* P3 n* U& w    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述9 B; o' f( P4 e8 r: `
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
7 s/ _. g& K& z" |! D    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)  s. L* {# p, V4 \6 P9 q4 N6 j
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
/ E5 \% O3 ], G! z( u0 w; yGO2 N# {$ \5 V0 g% l" Z1 `: J% W4 Q

% s  y6 N5 y7 r, y* f4 G8 {8 I" F3 ~-- 为作业添加一个步骤; @( n9 a2 X0 K$ p7 ~
EXEC sp_add_jobstep 1 P# h" q5 ^4 r! ~4 J3 e
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
; l9 m2 u! e0 d9 C4 i  f& U+ {; z    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称; c- {+ D; D. S, k8 c
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
2 N/ b  u2 m8 s; v    @database_name = N'account',                     -- 指定数据库名称5 @1 x6 Z/ C. k/ }4 y: i7 b
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
: k- l2 z* |& ]. b; y" b    @retry_attempts = 5,                             -- 重试次数
+ w5 ~0 J) W+ Q: v    @retry_interval = 5;                             -- 重试间隔(分钟)
- {* x( y3 m+ B+ `GO5 v! c& r8 [  w# e( y6 {& P

$ p$ u% ~- ]/ I  D+ k. _, T-- 为作业添加一个每分钟执行一次的调度
1 A; j5 d9 W$ q* wEXEC sp_add_schedule
3 \1 V5 v6 z! a+ [$ j* a* J    @schedule_name = N'MinuteSchedule',             -- 调度名称
/ X1 p+ u1 G! G! h    @freq_type = 4,                                  -- 频率类型(4表示每日)# |& z# j! e$ Y( r: {! n2 u; ]% h/ E
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行/ h4 [" N7 s+ b' N6 x
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟), {1 @1 l) o: S1 V0 P) s% Z( ~1 Q4 q7 T
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
; [2 Z8 J+ P0 V% }+ B    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD); c7 x5 ]. g1 C# o4 s! }
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
  k4 ]( ]$ k' k2 b/ M    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)$ a2 R- a# q! Q% h
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
$ u' P! J. e5 r* b# e' QGO
; U3 j9 L2 h, e/ O  a( ~+ R/ o; x; l: X( R
-- 将作业与调度关联起来
0 m- r5 W: u4 A2 ^EXEC sp_attach_schedule , ~; S" S$ G# z& w
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
/ [" c) Q$ r+ t    @schedule_name = N'MinuteSchedule';             -- 调度名称
$ m* t" [5 _4 R. [# E8 RGO
3 I& F& U  z  k; f* i# g- ~
$ S$ M+ n3 W) }! S  X3 z-- 提交作业创建到SQL Server Agent4 {4 q- O# L. b1 a# k: B
EXEC sp_add_jobserver
1 a) d1 c+ o1 _; E" l6 [% i    @job_name = N'IncreaseUserCashJob',              -- 作业名称9 c$ n$ b7 S2 r+ B' h+ T
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
( U/ M' `) X" NGO) a, C8 A$ C9 E# e6 B* v
. ?6 S! t0 u; C" K8 a

0 Z) \3 p* M4 k  P( Z& P! F+ ?3 i2 a4 q. v3 ?; q( g

. ~! x9 {( `* Y8 K
" _7 S. R0 D# m! F
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-4-3 06:58 , Processed in 0.034006 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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