找回密码
 立即注册
查看: 2612|回复: 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作业计划每分钟运行一次-----------------------& p1 D1 e% ^6 u. t
USE msdb;4 C8 e" @) _! @' T$ |
GO" V. G/ B' v& T5 i

( t8 P7 }% Y: H, M-- 如果作业已存在,则先删除它  ~! `- }+ x: O. n5 t" I5 a
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob'), j! i$ ]* S/ K  S3 Q: {' E; v* i
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';" t9 H# C1 W# p6 [, R: {* n# r
GO" P: F/ O# [( z8 k

0 E+ A+ M& ~/ z+ y0 {  H9 e-- 创建新的作业
, @8 F' c( T/ E3 tEXEC sp_add_job
. c7 h5 A7 M" [9 L! w# b    @job_name = N'IncreaseUserCashJob',               -- 作业名称
# c* `* I3 q8 c/ T1 t( C    @enabled = 1,                                    -- 启用作业
  s) z, n5 ]7 m7 |; y    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改0 k6 K4 B0 i( i" h2 r* F2 f- E
    @notify_level_email = 0,                         -- 不发送电子邮件通知
1 [8 f% z7 W: A* ]5 v6 B4 h, J* A    @notify_level_netsend = 0,                       -- 不发送网络消息通知- r( W4 X" F* m. |
    @notify_level_page = 0,                          -- 不发送寻呼通知6 U) {* a+ p/ b( B$ C, l6 O0 ^( C' B
    @delete_level = 0,                               -- 不自动删除作业7 Y0 G; m3 @4 q" X( a: E
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
$ D0 r( `2 @0 t; @9 e8 `. u# R    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
) @0 V" L5 o) T8 |9 {  }3 Z    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
# D/ U) h. a  O' V  r! ?% w2 _& R% `    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员" N) N" k, J) ~. F+ H, I
GO0 F  {7 H* B# `) @. T
, `* m2 f5 r& u# t- |3 @
-- 为作业添加一个步骤7 }! I$ K5 ]5 ~. ^# q
EXEC sp_add_jobstep
. r3 X. i' d4 q    @job_name = N'IncreaseUserCashJob',              -- 作业名称
% [4 `# I' }1 Y, I    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称# O/ E) ~' Q3 w- [- \
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)( E7 ?5 j: }" J1 V. N% d
    @database_name = N'account',                     -- 指定数据库名称
: z6 F) H! J% L2 r4 K5 W0 n/ P2 O% N: Z    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
' H) ~  q9 \3 m! {    @retry_attempts = 5,                             -- 重试次数
1 {& G8 M: Y4 L+ [    @retry_interval = 5;                             -- 重试间隔(分钟)
# J; j  H3 f2 Z; n, IGO2 Z$ g  d" T% |6 g& ]$ K+ g* X

; Q% N4 \. I; o( V. i-- 为作业添加一个每分钟执行一次的调度' j8 P' u4 u  v! w9 t! ^/ ~( a: L3 t
EXEC sp_add_schedule 9 V/ G* k2 v! L8 q' B' s2 w( g8 S
    @schedule_name = N'MinuteSchedule',             -- 调度名称4 r7 W! Z$ s' v- p! X
    @freq_type = 4,                                  -- 频率类型(4表示每日)
. w7 n0 O7 v& d9 B7 D    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行; G6 t( P5 Q! T% c2 O0 i! x
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)9 A; K8 c# Q; t  y7 ~( r" K
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)1 k) C: H. T1 U6 M
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD), i7 H* i  m, q. M6 L8 _
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
: d  x0 R8 d" v1 k/ G# Y    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
! O, T+ i& ?- P9 c$ z! n1 [    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)- B9 v$ R) v+ c$ s( n& Y
GO
7 ]5 j0 h$ l* O) U
$ G/ N2 e/ y$ j5 ]5 h3 S-- 将作业与调度关联起来1 {6 J) i6 K9 L% r1 }" S. V
EXEC sp_attach_schedule 6 i4 m- _2 ?8 f. |5 z( e* U4 f8 x
    @job_name = N'IncreaseUserCashJob',              -- 作业名称/ O: e3 {4 B) y! B  W4 `
    @schedule_name = N'MinuteSchedule';             -- 调度名称
- c  q7 y% a5 Y% bGO3 }* G- n2 V* g% Q

" v, q  E4 h1 B1 y% j0 n-- 提交作业创建到SQL Server Agent
8 [) B4 |% s' }2 l' |: uEXEC sp_add_jobserver
# L1 a% z! p0 M8 _2 Y0 h    @job_name = N'IncreaseUserCashJob',              -- 作业名称$ s5 s1 N3 j" N: e1 i' b, R) D1 t
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')" `) `1 G5 B8 ^% H8 L
GO
( o# X4 J# L: |6 F2 R, K5 [3 E

  x9 b  m; l" f5 a
9 V2 Z1 x+ }1 P& w9 H1 o
( g) q" E* e* E4 v8 t. V$ x& }2 [0 ?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-16 00:36 , Processed in 0.068835 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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