SShortSingh.
Back to feed

Health check passed on a cached GET while every buyer POST to a dead origin failed

0
·3 views

A buyer page returned 200 to a health check every five minutes for an evening, while every submission from that page failed. The CDN edge served the GET from cache, but the POST went to an origin tunnel that had died hours earlier, producing a 1033 error. An earlier fix had probed the buyer page, but used a GET, which cached responses can satisfy without proving the origin is up. The proposed remedy is to probe with a POST that requires the origin to return specific content, matching what customers actually send. The author argues health checks should mirror the customer's request, since a status code only reflects the single request it measured.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Python script keeps partial paper dates and index timestamps as separate evidence

A RigorMed write-up argues that research briefings should not treat every recently indexed record as a new paper, since that can silently alter selection criteria. It also warns against converting year-month dates into the first day of the month. The authors provide a standard-library Python script that records metadata fields such as published, issued, created, deposited and indexed without fetching full text or making eligibility decisions. Using a Crossref excerpt for a 2006 statistics paper, the script shows a month-level publication date alongside a much later indexing timestamp. The piece stresses that publication-window and index-update filters answer different questions and should be chosen deliberately.

0
ProgrammingDEV Community ·

Stock Price Alerts Must Track State, Not Just Thresholds

A stock API can supply prices for an alert, but it does not decide when a notification should be sent. A reliable alert needs a defined observation type, a trigger rule, remembered state, and a plan for missing data. In a synthetic example of five price updates, a simple above-$100 check matches three times, while detecting an upward crossing yields two events. Tracking whether the price has crossed the threshold prevents repeated updates above it from triggering repeated alerts. The article recommends defining the rule explicitly and describing its behavior in the interface so users can understand why notifications occur or do not occur.

0
ProgrammingDEV Community ·

Venture Emulator Lets PC VR Headsets Run Quest-Exclusive Games; Amblyotube Uses Per-Eye Rendering for Vision Training

A new emulator called Venture reportedly enables Quest-exclusive VR games to run on any PC VR headset, aiming to simplify access and performance. The article, published by Seven Sports, uses this development to argue that headsets are evolving from closed systems into flexible platforms. The company describes its Amblyotube app for Meta Quest, which uses per-eye rendering to deliver different visual content to each eye for people with amblyopia or lazy eye. Features include a dominant-eye blur shader, figure-highlighting for the lazy eye, a built-in LogMAR vision check, and a magenta focus cue to help the brain merge the two views. The app is presented as a supplementary binocular coordination and depth perception tool, not a diagnosis or treatment, and is recommended for ages 13 and up.

0
ProgrammingDEV Community ·

Keyboard-aware forms in React Native and Expo with a Save button that stays above the keyboard

A developer built a booking app and found that common React Native keyboard fixes like KeyboardAvoidingView and KeyboardAwareScrollView behave inconsistently across iOS and Android. To address this, they released an open-source package, @saulzayn/rn-keyboard-form, that keeps the focused field visible above the keyboard. The footer, such as a Save or Continue button, rides on top of the open keyboard so users can submit without dismissing it. The package also adds a toolbar with previous, next, and Done controls, and works inside iOS modal sheets, iPad form sheets, and bottom sheets. It relies on react-native-keyboard-controller, a native module that requires a development build rather than Expo Go.