找回密码
 立即注册
查看: 3281|回复: 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作业计划每分钟运行一次-----------------------
8 w0 u5 e! h& j+ u2 }USE msdb;
0 {% H, z- d5 R% m: |GO* t. w; n+ V' g$ _, l3 c; S

/ a7 v# P- @/ Z0 ?) _-- 如果作业已存在,则先删除它9 N3 g! `% d0 `9 [! F: l1 A, R' W
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
/ T' P3 b$ [; s/ Q$ q4 u0 |& [; t    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
1 j1 {% T4 T( X5 `9 M9 JGO
: \1 H+ @% X. ?/ M; N7 ^( u4 x$ b% y
+ B+ Z, p! y: X0 X& W-- 创建新的作业! N8 t! T; r# {( C+ V/ b
EXEC sp_add_job
6 S" i: x7 _' G0 }    @job_name = N'IncreaseUserCashJob',               -- 作业名称
2 a# m) t$ S4 A4 l" G+ j" c2 G    @enabled = 1,                                    -- 启用作业( J% I  j  v: R, D
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改6 E* h! N9 t  J, Y2 \4 H6 R
    @notify_level_email = 0,                         -- 不发送电子邮件通知8 \" _# L) z3 K2 E
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
1 s: N0 s% m) A0 T    @notify_level_page = 0,                          -- 不发送寻呼通知
/ }# h# K, U. g# l! w- {    @delete_level = 0,                               -- 不自动删除作业
; F/ J; `+ N8 _    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述9 ^- M* |" ?2 M$ g( k# Y1 f( w: i
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别9 U2 f" [; {6 Y9 |- R' W
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
  c/ k, u) M" s# _: x2 h    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员5 G& O( @+ [  t8 x2 F( s
GO& Z  k2 h$ g; W5 s$ t1 w
+ I7 J4 q$ ^. E% J7 f( M- W( \
-- 为作业添加一个步骤
* B0 G4 w- a+ j" a: oEXEC sp_add_jobstep ' W: R; H- a7 Y* y$ J9 f3 A& d
    @job_name = N'IncreaseUserCashJob',              -- 作业名称' l3 q) \; [: f& I
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称  v3 M9 y4 g- n& r1 w! @& T' o& M
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
" l# A5 o2 s6 S    @database_name = N'account',                     -- 指定数据库名称
3 ?$ j. h+ Q/ [; }+ n7 d    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)8 c- t7 {  n2 u3 G
    @retry_attempts = 5,                             -- 重试次数9 q' L; J, C7 K2 w- B) t9 u
    @retry_interval = 5;                             -- 重试间隔(分钟)1 }! K. T4 N0 O6 y
GO5 g6 w% b) Y4 e8 i
. R5 o, `" e4 E0 _. C4 M1 `' q$ Z
-- 为作业添加一个每分钟执行一次的调度
/ O1 |3 k+ E/ r8 n* Z  F9 JEXEC sp_add_schedule
$ b, n2 ]0 B  B  E9 f    @schedule_name = N'MinuteSchedule',             -- 调度名称4 d# ~9 j6 ?% L+ R7 j; C8 w
    @freq_type = 4,                                  -- 频率类型(4表示每日)$ k# s8 v' ^' S8 _3 L
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行  V& x' C8 |- ]1 b0 H5 M
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
! v: ]: G" u" F6 }! z    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)% V% c0 A# m" b  S% S7 w" b. p
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
# O/ L" y4 m& t+ U- q, B0 B$ K    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)$ i- E8 N9 d* z
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
: N* s3 D7 {4 S4 K9 d    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟): G+ ?& [% I- O( o* n7 V
GO: B3 U* \- k9 L9 S+ z" N  A
, p# S( ]! q: ]7 c6 o* P& h6 }- `
-- 将作业与调度关联起来. N$ Y5 ?% @* o( B. H3 E
EXEC sp_attach_schedule
! K7 ^! }) N2 c    @job_name = N'IncreaseUserCashJob',              -- 作业名称
* i* a1 Z4 a! }' R% T0 [    @schedule_name = N'MinuteSchedule';             -- 调度名称
' V6 |" ]% @2 c8 o; m! k  K3 HGO* ]" c8 `$ T, G
+ F% k! H* B: F  `: x
-- 提交作业创建到SQL Server Agent
) _; x' ^. q* j6 ^$ YEXEC sp_add_jobserver * j4 m) K" E. e2 V9 G
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
7 ~  {/ B; d+ Z7 u; B/ c0 v    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)'). V3 x$ p* q- Z
GO3 a. Z+ [1 W' j, ]9 w

) S5 w. a( Q) T. I! ~  f- p# V* A$ k

5 c6 g: }/ ^! }, t: k# u
4 F9 B' q' U0 N* `4 B
# j+ x1 H( g5 F  {
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-9-16 17:11 , Processed in 0.075940 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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