graphile_worker_runtime 0.1.3

Async runtime compatibility package for graphile_worker
Documentation
#[cfg(all(not(feature = "runtime-tokio"), not(feature = "runtime-async-std")))]
compile_error!("Either runtime-tokio or runtime-async-std must be enabled");

mod notify;
mod task;
mod time;

#[cfg(test)]
mod tests;

pub use async_channel::{bounded as channel, Receiver, Sender};
pub use async_lock::{Mutex, RwLock, RwLockReadGuard, RwLockWriteGuard};
pub use notify::{Notified, Notify};
pub use task::{spawn, AbortHandle, JoinError, JoinHandle};
pub use time::{interval, sleep, sleep_until, timeout_at, Interval, TimeoutError};

#[cfg(not(feature = "runtime-async-std"))]
pub(crate) fn missing_runtime<T>() -> T {
    if cfg!(feature = "runtime-tokio") {
        panic!("this functionality requires a Tokio runtime")
    }

    panic!("Either runtime-tokio or runtime-async-std must be enabled")
}