Skip to main content

Asynchronous tasks add-on for SENAITE

Project description

Queue of asynchronous tasks for SENAITE LIMS

https://img.shields.io/pypi/v/senaite.queue.svg?style=flat-square https://img.shields.io/travis/senaite/senaite.queue/master.svg?style=flat-square https://img.shields.io/github/issues-pr/senaite/senaite.queue.svg?style=flat-square https://img.shields.io/github/issues/senaite/senaite.queue.svg?style=flat-square https://img.shields.io/badge/Made%20for%20SENAITE-%E2%AC%A1-lightgrey.svg

About

This package enables asynchronous tasks in Senaite to better handle concurrent actions and processes when senaite’s workload is high, especially for instances with high-demand on writing to disk.

At present time, this add-on provides support for workflow transitions for analyses and worksheets mostly (e.g., verifications, submissions, assignment of analyses to worksheets, creation of worksheets by using workseet templates, etc.).

Transitions for sample levels could be easily supported in a near future.

The asynchronous creation of Sample is not supported yet.

Usage

Create a new user in senaite (under senaite/acl_users) with username queue_daemon and password queue_daemon. It will not work when using acl users registered in Plone’s root (e.g. admin).

Add a new client in your buildout:

# Reserved user queued tasks
queue-user-name=queue_daemon
queue-user-password=queue_daemon
parts =
    ....
    client_queue

and configure the client properly:

[client_queue]
# Client reserved as a worker for async tasks
<= client_base
recipe = plone.recipe.zope2instance
http-address = 127.0.0.1:8088
zope-conf-additional =
# Queue tasks dispatcher
<clock-server>
    method /senaite/queue_dispatcher
    period 10
    user ${buildout:queue-user-name}
    password ${buildout:queue-user-password}
    host localhost:8088
</clock-server>

Configuration

Some parameters of senaite.queue can be configured from SENAITE UI directly. Login as admin user and visit “Site Setup”. A link “Queue Settings” can be found under “Add-on configuration”. From this view you can either disable queue for specific actions and configure the number of items to be processed by a single queued task for a given action.

Screenshots

Queued analyses

Queued analyses

Queued worksheet

Queued worksheet

Queue settings

Queue configuration view

License

SENAITE.QUEUE Copyright (C) 2019 Senaite Foundation

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Changelog

1.0.0 (unreleased)

First version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

senaite.queue-1.0.0.zip (43.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page