R/onLoad.R

Defines functions q.shutdown is.scheduler.shutdown .qdir.create .onLoad

.onLoad <- function(libname, pkgname){

suppressMessages(require(uuid))
suppressMessages(require(rmarkdown))

QWD <- Sys.getenv('QWD')
if(QWD == "")
{
  warning("Set QWD in your env!!
           Sys.setenv('QWD'='fullpath to your job queue root')")

  QWD <- sprintf("%s/log",getwd())
  warning(paste('temporaly using QWD at:' , QWD))
}

q.status    <<- data.frame(busy='busy',
                           normal="normal",
                           free="free",
                           waiting='inbox',
                           running='progress',
                           completed='success',
                           failed='failed', stringsAsFactors = FALSE)


# by user, interaction, wrote it to disk
.pkg.log <<- list(
    log.dir=QWD,
    script.dir=sprintf('%s/scripts',QWD),
    output.dir=sprintf('%s/output',QWD),
    scheduler.file=sprintf('%s/.scheduler.rda',QWD),
    scheduler.shutdown=sprintf('%s/.scheduler.shutdown',QWD),
    n=0,
    network=q.status$normal,
    n.sleep=4,
    timer=-1,
    queue.job.list=(data.frame(jid="0",status="*", path="0")),
    inbox=list(),
    outbox=list(),
    progress=list(),
    schedule=list(),
    failed=list()
  )

# log dir setup
.qdir.create()

# run one queue in background

}

.qdir.create <- function()
{
  x.qdir.create <- function(name)
  {
    name=sprintf("%s/%s", .pkg.log$log.dir,name)
    if(!file.exists(name))
      dir.create(name,recursive = TRUE)
  }

  x.qdir.create(name='inbox')
  x.qdir.create(name='outbox')
  x.qdir.create(name='progress')
  x.qdir.create(name='schedule')
  x.qdir.create(name='failed')
  x.qdir.create(name='scripts')
  x.qdir.create(name='output')
  x.qdir.create(name='agent')

}


is.scheduler.shutdown <- function()
{
  if(file.exists(.pkg.log$scheduler.shutdown))
    return(TRUE) else return(FALSE)
}

q.shutdown <- function()
{
  sink(file=.pkg.log$scheduler.shutdown)
  cat("shutdown")
  sink()
}
okux/qrmarkdown documentation built on Dec. 22, 2021, 4:17 a.m.