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

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

[复制链接]

2

主题

75

回帖

760

积分

高级会员

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

2

主题

75

回帖

760

积分

高级会员

积分
760
金钱
630
贡献
53
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------% \' _& {; \- V& a  m
USE msdb;
  o' v5 H# b* b1 p9 F4 MGO
" q, y$ x* Q! \2 y
3 Z, m0 p! f; V' l$ l-- 如果作业已存在,则先删除它" z" C" F2 y8 q2 c& e5 ~( W
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')" D& u# Y/ `( O' i2 B; P: I
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';5 d; c; s! z8 _- J$ y
GO, F# m6 N& W6 k4 z! B2 I

2 o$ [0 u, }. l9 v9 {) p, W( o6 v6 @-- 创建新的作业5 Y1 q1 `! _- J6 L* ]
EXEC sp_add_job
$ {  C& a5 U' Z    @job_name = N'IncreaseUserCashJob',               -- 作业名称
4 T, p0 L3 @6 X8 H, f" c    @enabled = 1,                                    -- 启用作业! D8 z# V& x7 v" |- L6 o" i8 R
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改' N4 N( J4 w$ o- V
    @notify_level_email = 0,                         -- 不发送电子邮件通知
* B. d$ q0 w2 ^0 d2 q    @notify_level_netsend = 0,                       -- 不发送网络消息通知
! o4 G4 ]0 E' G) I! t" k; M$ J    @notify_level_page = 0,                          -- 不发送寻呼通知
1 M# E  e* p2 e7 ~. X/ O' M' c    @delete_level = 0,                               -- 不自动删除作业
. X1 V& ^1 [. e4 s    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述2 Q& |. `# Y) y0 A) H) o7 O
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别9 |0 `6 R* V* b$ e9 I+ O
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)( A( L1 \/ c7 e$ \
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员1 }% Q2 D. l3 a
GO
" g! k+ N! D+ g+ i! _% D; Z# M: A3 `3 S( i9 N6 P$ I- E
-- 为作业添加一个步骤; X# r: p) s# t4 C; S9 b
EXEC sp_add_jobstep
. n  s" ]: }% t; ]4 J# i5 T4 z/ w    @job_name = N'IncreaseUserCashJob',              -- 作业名称
1 V8 ?# H* ~8 s9 B8 t6 f; \    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
: l$ \! R5 E" N- G% {. r    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)5 H6 s! ?! m. o
    @database_name = N'account',                     -- 指定数据库名称( q, S6 ^; ^  @& I
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程), E& o7 H! q" w
    @retry_attempts = 5,                             -- 重试次数/ x4 r8 }0 I- v6 Y  R; L
    @retry_interval = 5;                             -- 重试间隔(分钟)+ r8 F" @; ~  z  e7 q
GO
; V3 Z# g) p8 T- @) S/ v: k" J7 X$ h( B# w9 f* S% y$ f
-- 为作业添加一个每分钟执行一次的调度
4 z2 t' d, F& m- ^9 b7 ~EXEC sp_add_schedule 3 B5 A3 ~+ e3 O6 ~; ~  A' }( j4 n
    @schedule_name = N'MinuteSchedule',             -- 调度名称& s9 u: f! {. S/ X, Z+ u, X
    @freq_type = 4,                                  -- 频率类型(4表示每日)# e2 T! J' a1 e0 o- v
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
2 b% x' t; R6 t/ s    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
( f( p4 I# l7 k' `    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)8 \8 l! [9 C4 f( T4 a; q9 I
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)+ j+ e5 }9 H0 D1 h
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)8 p" S1 p0 h5 b! I( g
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)9 d& A. P# N  C
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)1 [) t* B- d! j- `' Q! [5 L2 F
GO9 V9 V) i% c, k0 Z& R
: c5 M1 S8 N0 f8 ]0 A( v2 e
-- 将作业与调度关联起来
& p; o6 p6 Z" l4 y& T" jEXEC sp_attach_schedule 6 u5 M' c5 h& @" a4 R6 n* _
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
# Q* g* J7 t$ P1 e6 U4 ]' u    @schedule_name = N'MinuteSchedule';             -- 调度名称
% C% ~2 w4 @* Y6 P& @GO5 [+ J% f( U) E9 e

! s% F! y0 u. E: i, D-- 提交作业创建到SQL Server Agent
1 s" A% v; X' B* @' q& CEXEC sp_add_jobserver * ~, T+ c( }7 X0 O
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
" J2 N$ G4 w2 I- `. B    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
  q" s! z8 }/ c9 `3 X, zGO
' H/ W5 F( A" b+ o
0 I% N# c3 S5 R9 w7 |, o
1 `$ u8 s6 c# s. p
, i$ J) f8 s, R* h% n7 F% @4 h& u% s6 I1 n

7 [) Y3 _  P& |2 ~8 @
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-11-8 23:44 , Processed in 0.057620 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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