clockwork_scheduler/instructions/
queue_pause.rs1use {
2 crate::state::*,
3 anchor_lang::prelude::*,
4};
5
6#[derive(Accounts)]
7pub struct QueuePause<'info> {
8 #[account()]
9 pub authority: Signer<'info>,
10
11 #[account(
12 mut,
13 seeds = [
14 SEED_QUEUE,
15 queue.authority.key().as_ref(),
16 queue.name.as_bytes(),
17 ],
18 bump,
19 has_one = authority,
20 constraint = queue.status == QueueStatus::Pending
21 )]
22 pub queue: Account<'info, Queue>,
23}
24
25pub fn handler(ctx: Context<QueuePause>) -> Result<()> {
26 let queue = &mut ctx.accounts.queue;
28
29 queue.status = QueueStatus::Paused;
31
32 Ok(())
33}