Skip to main content

dev_routes

Function dev_routes 

Source
pub fn dev_routes<S: Clone + Send + Sync + 'static>() -> Router<S>
Expand description

Development endpoint listing recent jobs, served by ocre dev only, for tests (Rails’ assert_enqueued_with and assert_performed_jobs).

GET /ocre/dev/jobs.json answers the last 50 jobs this Worker instance enqueued and the last 50 it ran, oldest first: {"enqueued": [{"id": 1, "queue": "JOBS", "job": {"send_welcome": {"user_id": 7}}}], "performed": [{"id": 2, "job": "send_welcome", "outcome": "done"}]}. The outcome is done, discarded or retried, as consume logs it. ocre::testing::Client::jobs reads it.

Debug builds only (ocre dev); release builds (ocre deploy) get an empty router, so it is a 404 in production. The first ocre g job merges it into routes(). It uses no billed resource: the lists live in the Worker’s memory.

§Examples

use axum::Router;
use ocre::Ctx;

fn routes() -> Router<Ctx> {
    Router::new().merge(ocre::jobs::dev_routes())
}