package com.example.orders;
public final class Order {
public static final Order POISON_PILL = new Order(-1L, 0.0);
package main
import (
"context"
"log"
"net/http"
import time
import threading
from dataclasses import dataclass, field
from typing import Callable, Dict, List
import time
from dataclasses import dataclass
from typing import Optional
import requests
-- KEYS[1] = current window key, KEYS[2] = previous window key
-- ARGV: limit, window_ms, elapsed_ms
local limit = tonumber(ARGV[1])
local window = tonumber(ARGV[2])
local elapsed = tonumber(ARGV[3])
package service
import (
"context"
"golang.org/x/sync/errgroup"
#[derive(Debug, Clone)]
pub struct Order {
pub id: u64,
pub amount_cents: i64,
pub currency: [u8; 3],
}
use std::time::{Duration, Instant};
pub struct LeakyBucket {
level: f64,
capacity: f64,
rate_per_sec: f64,
use std::sync::mpsc::{self, SyncSender};
use std::sync::{Arc, Mutex};
use std::thread;
mod worker;
use worker::{Message, Worker};
import asyncio
import time
from dataclasses import dataclass, field
@dataclass
CREATE TABLE idempotency_keys (
id BIGSERIAL PRIMARY KEY,
idempotency_key TEXT NOT NULL,
request_path TEXT NOT NULL,
request_fingerprint TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'in_progress',
use std::os::raw::c_int;
pub const LOCK_EX: c_int = 2;
pub const LOCK_NB: c_int = 4;
pub const LOCK_UN: c_int = 8;