找回密码
 立即注册
查看: 3066|回复: 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作业计划每分钟运行一次-----------------------
" i: ]# {; {: ~USE msdb;" g* _4 R& v9 e2 U. i. F/ ^% _/ a
GO
% m$ ], l# O4 D- ~" U% U
  ?( W7 b: N6 v3 r- p-- 如果作业已存在,则先删除它# `0 F4 z: j# C8 y' q. y* C
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
* i. Y" {7 f% {. V& I% z  a    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';- F# x" ^/ i: O9 }+ D
GO
' }$ D* u1 }1 b3 X# h0 K) S8 A, z6 R4 c; [" V
-- 创建新的作业
2 `* {$ p/ E1 V/ a% dEXEC sp_add_job 3 p7 R! O: F9 R7 r( p; y* P, ^0 D# b
    @job_name = N'IncreaseUserCashJob',               -- 作业名称  A! _+ V) u' V. y4 o
    @enabled = 1,                                    -- 启用作业
9 X0 {! o, ~5 n8 h! K- V6 E1 W' d    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改, S" ~4 o! y6 s* r: {6 E
    @notify_level_email = 0,                         -- 不发送电子邮件通知
. c& q, y* z: C$ r4 Y6 o    @notify_level_netsend = 0,                       -- 不发送网络消息通知
: V' \, {1 N' x* n7 i  e    @notify_level_page = 0,                          -- 不发送寻呼通知
5 I. {! `0 b4 R) ?0 R    @delete_level = 0,                               -- 不自动删除作业
) Z4 `: q/ L9 e* F    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述/ O! E! H$ I! m& s: a
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别2 z. n3 w+ Z, ~: u
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)2 z8 l9 r  P" [1 o
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员$ c' @8 V" u, L6 `2 @- {
GO8 ?$ c: g. T6 k  `* W% K/ z

* X8 U+ y. H* `/ _  o7 d-- 为作业添加一个步骤
7 p3 h6 P" R2 s8 p) VEXEC sp_add_jobstep 3 @, D8 m5 B7 ^
    @job_name = N'IncreaseUserCashJob',              -- 作业名称& ^. s7 ]! H7 Q7 c! N& G7 z
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
' ?8 {/ K& }: i5 c' M" y; v2 n5 c- j    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
: X+ u! C8 z2 a0 j% z; a    @database_name = N'account',                     -- 指定数据库名称# |! h0 t3 w7 ]
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
" e0 K" ?  w' i' b! V0 E    @retry_attempts = 5,                             -- 重试次数
4 m/ h8 g4 y1 K% q! S# c    @retry_interval = 5;                             -- 重试间隔(分钟)( s4 U$ U6 [, Q% [2 V
GO0 Q1 [) _6 K$ d; B5 d

1 }4 C5 n# [5 {! d( {- O) E-- 为作业添加一个每分钟执行一次的调度. k; C9 v( Q1 R9 w! _
EXEC sp_add_schedule ' P6 s' l$ w, b. K1 m
    @schedule_name = N'MinuteSchedule',             -- 调度名称
2 y1 i9 k9 k' b* }9 ]4 q5 |/ @    @freq_type = 4,                                  -- 频率类型(4表示每日)1 R$ c2 W6 v( I7 k$ b; u  {$ T( F" Q( x
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行2 c' x/ i& o! T3 Y  G
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)% f$ v$ i* K1 I0 m' T- s9 F8 g
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
4 P' r3 |0 ^& a    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
" ?* Y' e5 s$ {( y6 k    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)& s" ?0 ^. c/ I3 m4 c
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
' A! y* B& T, L* g    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)7 q6 j. U+ V& ?+ p  r
GO
* T" z7 [$ r) E: E1 }8 ?: q& t# E( U' Q7 f7 O
-- 将作业与调度关联起来
; _% T# {0 B# w- N: R( U& K4 s5 R5 {EXEC sp_attach_schedule 8 X; C+ N+ n- k, I! Z
    @job_name = N'IncreaseUserCashJob',              -- 作业名称' f# p2 f  _/ T; g0 ^# h
    @schedule_name = N'MinuteSchedule';             -- 调度名称0 y- R5 M. h# w6 \8 |! g; U# x  s
GO" D+ h9 C# [5 k# Q( d/ v+ U

- \, C) w0 `/ Z- }% q4 b9 D-- 提交作业创建到SQL Server Agent3 ^& G/ D6 Z; _# y$ \  U# i
EXEC sp_add_jobserver * O2 {6 p/ r5 S8 c
    @job_name = N'IncreaseUserCashJob',              -- 作业名称6 U) R+ R; o* \( D) X7 b- l
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
$ Y6 I- S/ e7 `+ RGO8 W6 s5 m* B7 `
( x6 a" a. V4 f( J

/ b3 |8 }' `/ i: T3 O8 g  C$ M: E! `/ |0 k
9 `6 \$ S, u' B( k' ~  X

% q6 ?9 B" |1 ]  x" k8 Z0 w
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-8-1 20:30 , Processed in 0.065876 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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