Compliance Issues

Traceability and documentation is the main concern for the FDA. So knowing what, where, and when stuff happened is key. Accurate dates Accurate amounts Accurate lots *This page will be updated with more details. This is just a starting place for now. – EWM

Configuring EC2 for Redis

Ubuntu 18.04 out of the box from AWS is not setup properly to support Redis. Enable Overcommit Memory login via SSH sudo vim /etc/sysctl.conf Add the following to the end of the file and save. # VM for Redisvm.overcommit_memory=1 Reboot the server. Disable Huge Pages From: https://techexpert.tips/ubuntu/ubuntu-disable-transparent-huge-pages/ login via SSH sudo vim /etc/systemd/system/disable-thp.service Add this […]

AWS Cloud Configuration

landscape photography of mountains covered in snow

OmniBlocks® REST API Server aka OmniBlocks® BE Server. July 2022 Runs on an EC2 instance deployed via Jenkins as a git listener in a CI/CD environment. The app is a node server managed by PM2. The auth module utilizes Redis. AWS Services EC2 Servers OmniBlocks Live BE t3.medium => m6i.large OmniBlocks Staging BE t3.medium OmniBlocks […]

Technology Standards

books education knowledge encyclopedias

Application Design RBT Inc. apps are primarily Software-as-a-Service applications. They need to be fault tolerant, easily scalable, and performant. Our designs should follow the “Twelve Factor” standard. Development Process Our development process loosely follows the Agile methods. Our goal is to work with a heartbeat of 2 weeks maximum for sprints. We are also working […]

July 11th 2022 10:12AM EST Downtime Analysis & Remediation

aerial photo of vehicles in the city

Cause Live BE server stopped responding. Actions RDS server was still responding, but showing 20 open connections. EC2 server was not responding, SSH unresponsive, Jenkins (http) unresponsive. AWS reboot of the EC2 instance never finished (5m).AWS stop instance never finished (5m).AWS force stop took 3m+, eventually stopped.Instance manually restarted via AWS console. Forced PM2 restart […]

Exec Review : 06/28/2022 Sales Order Module Offline

Overview The Sales Order module was built originally by the TP team as the “Purchase Order” module. It was extremely simplistic, built on poor data structures and API controllers, and did not meet the client needs. In Q3 2021 a significant update to the Sales Order module was requested. The new features required notable changes […]

Copying Production DB Server to Develop

flock of sheep eating grass

The current configuration (through July 6 2022) hosts the production, staging, develop, and independent developer databases all on a single RDS server. While this makes it very fast and easy to replicate production data to the develop and staging databases, it does mean a shared database server. The memory and CPU resource will be utilized […]

OmniBlocks® 1.83 Release Notes

woman in black shirt holding a hand sanitizer bottle

Formulas Create Creating a new formula was losing the related SKU, this has been patched. List Formulas can be sorted by Formula ID. Production Invalid yield < 1 If a yield was entered as 0 the batch could not longer be accessed. This has been patched.

OmniBlocks® 1.82 Release Notes

yellow flowers on white ceramic plate

Users Listing Updates Show user ID column, sortable and searchable. Add search and sort to Role column. Dashboard Reports Par Level Report SKU is now linked to the inventory lookup for the SKU. In Stock Report View Preview SKU is now linked to the inventory lookup for the SKU. Received Inventory Report SKU is not […]

API Performance Deep Dive

focused biologist studying plant leaf with microscope

Knex Digging deeper into the Knex queries can be done with the knex configuration option debug set to true. Enabling Debug Output for Knex On the OB API server you can turn debugging output from Knex by updating the knexInstance definition as follows: In the BE file: .env Add a line like this… # Knex/Objection […]