惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Palo Alto Networks Blog
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
GbyAI
GbyAI
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
量子位
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
CERT Recently Published Vulnerability Notes
Recent Announcements
Recent Announcements
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
P
Privacy International News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
L
Lohrmann on Cybersecurity
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
Hugging Face - Blog
Hugging Face - Blog
P
Proofpoint News Feed
NISL@THU
NISL@THU
博客园 - Franky
C
Cybersecurity and Infrastructure Security Agency CISA
The Register - Security
The Register - Security
M
MIT News - Artificial intelligence
Know Your Adversary
Know Your Adversary
A
Arctic Wolf
F
Full Disclosure
T
Threat Research - Cisco Blogs
P
Privacy & Cybersecurity Law Blog
The Hacker News
The Hacker News
博客园 - 【当耐特】
D
Docker
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Jina AI
Jina AI
Help Net Security
Help Net Security
V
Visual Studio Blog
小众软件
小众软件
B
Blog
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
Forbes - Security
Forbes - Security
N
Netflix TechBlog - Medium
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
GitHub - DataIntellectTech/TorQ: kdb+ production framework. Read the doc: https://dataintellecttech.github.io/TorQ/. Join the group!
2026-05-23 · via Hacker News

TorQ Logo

Read our documentation

The framework forms the basis of a production kdb+ system by implementing some core functionality and utilities on top of kdb+, allowing developers to concentrate on the application business logic. It incorporates as many best practices as possible, with particular focus on performance, process management, diagnostic information, maintainability and extensibility. Wherever possible, we have tried to avoid re-inventing the wheel and instead have used contributed code from code.kx.com (either directly or modified). This framework will be suitable for those looking to create a new kdb+ system from scratch or those looking to add additional functionality to their existing kdb+ systems.

Have a skim through our brochure for a bit more information. The easiest way to get a production capture started is to download and install one of the Starter Packs, or read through our Github-Pages site. We also have a Google Group for questions/discussions.

Quick Start

To launch a process wrapped in the framework, you need to set the environment variables and give the process a type and name. The type and name can be explicitly passed on the command line. setenv.sh is an example of how to set the environment variables on a unix type system. For a windows system, see http://www.computerhope.com/issues/ch000549.htm. kdb+ expects all paths to be / (forward-slash) separated so all paths on all OSs should be forward-slash separated.

To avoid standard out/err being redirected, used the -debug flag

./setenv.sh         /- Assuming unix type OS
q torq.q -proctype test -procname mytest -debug

To load a file, use -load

q torq.q -load mytest.q -proctype test -procname mytest -debug

This will launch the a process running within the framework with all the default values. For the rest, read the document!

Updating the Documentation with Mkdocs

To make changes to the documentation website you must simply use this command while in the branch you have made the changes on:

mkdocs gh-deploy

You will be prompted to enter a username and password, after this the site should have been updated. You can test the site locally if you want using mkdocs. First use the command:

mkdocs build

Then:

mkdocs serve -a YourIp:Port

Head to the address it gives you to check if your changes have worked. More information about using mkdocs can be found here

Licences

Third party licenses have been used, see Licenses, Apache 2.0 and OpenLDAP, kdbldap.so

Release Notes

  • 5.2.12, Nov 2025
    • Update to Partbyfirstchar to group save by first character
  • 5.2.11, Nov 2025
    • Partbyfirstchar for parting WDB on disk by first symbol char
  • 5.2.10, Sep 2025
    • Partbyenum on int column
    • .z.exit update when STP is in memory batch mode
    • Fix: default tempdir to be an hsym in tickerlogreplay.q
    • Add parallel compression for multithreaded process
  • 5.2.9, Mar 2025
    • Sort and apply attributes once per table partition
    • Remove kill command override
    • Adding replaymaxrows for optional row count on recovery
  • 5.2.8, Jan 2025
    • Fix partbyenum to enumerate against placeholding symbol
  • 5.2.7, Jan 2025
    • Add subscriber info to CTP
    • Fix IDB intraday write
  • 5.2.6, Dec 2024
    • Add warning if environment variable is not set and improve logging
    • fix idbreload issues
  • 5.2.5, Nov 2024
    • Make sort process call initmissingtables and notifyidbs instead
  • 5.2.4, Nov 2024
    • Support immediate writing in WDB
  • 5.2.3, Nov 2024
    • Correct .merge.mergebypart error trap on upsert
    • Correct .merge.getpartchunks to use the filtered view
    • IDB WDB connection retry
    • Ensure idb process is reloaded after wdb savedown
  • 5.2.2, Oct 2024
    • IDB reload fix for default writedown mode, fixed table row counts
    • WDB 0 eodwaittime - reload of backends fixed
    • IDB documentation enhanced
  • 5.2.1, Sep 2024
    • Fix for IDB on Windows: WDB EOD now doesn't fail when deleting WDB folder
    • IDB notification bugfix: WDB was constantly sending IDB reloads, even if no write down happened
  • 5.2.0, Sep 2024
    • New IDB (Intraday DataBase) process
    • New WDB writedown mode partbyenum
    • Fix for processes storing entire tables instead of schema after pubsub init
    • Datecheck function period fix
  • 5.1.0, May 2024
    • Added support for DataAcess API using int partitions
    • Adding support for FinSpace STP, WDB and AWS Dataviews
    • New .os.hdeldir function introduced. Uses hdel instead of rm to delete a directory, or just delete it's contents
    • Bug Fixes related to kdb version 4.1
  • 5.0.3, Mar 2024
    • Fix defaulting of .save config in rdb
    • Bug fix for syncexec queries on HTTP/qcon
    • Bug fix for dataaccess API init
    • Deferred responce now returns if fails or signals error
    • Updating finspace.q API parameters to be up to date with AWS documentation
    • Setting default start params in FinSpace
    • finspaceservers.q will use the aws.list_kx_clusters direclty instead of matching it against csv
    • Code restructure/small changes to allign with Finspace changes (unused as of release)
  • 5.0.2, Dec 2023
    • Removed KDBFINSPACE env variable from required startup variable list
  • 5.0.1, Dec 2023
    • Renaming TorQ Amazon Finspace project references to TorQ-Amazon-FinSpace-Starter-Pack
  • 5.0.0, Dec 2023
    • Updated TorQ to support AWS Finspace when using the new TorQ-Amazon-Finspace-Starter-Pack
    • Updated support email references
    • Updated intall guide
    • log output can now be json file format: add '-jsonlogs true' flag on startup
    • Handlers can now load from appcode
    • Can now specify multiple LDAP servers
    • Improved testing
    • Fixed LDAP bugs
    • Fixes to heartbeat disabling logic
    • Fixed permission bugs
    • Fixes to Data Quality Processes
    • Fixed Merge by part breaking with many small partitions
    • Fixed DQE savedown with alternative hdb types
    • Fixed help.q bug
    • bug fix within loadaddcnfg
  • 4.4.0, May 2023
    • Rebranding: Update AquaQ references to Data Intellect
  • 4.3.0, Jan 2023
    • Bug fixes
    • Updated documentation
    • Added functionality for programmatically starting additional TorQ processes within q processes
    • Improved distribution of syms when using stripe function
    • Improved WDB reload functionality
    • Improved functionality of Data Access API & applied bug fixes
    • Added configurable WDB merge functionality
    • Fixes to subscriber functionality via .u.sub when utilising batch mode
    • Fixes to endofday messaging via .u.end
    • Fixes to endofday savedown process to prevent data savedown to following day
    • Fixes to rack function of analyticslib.q
  • 4.2.0, Dec 2021
    • Added functionality to Data Access API
    • Added Data Striping
    • Bug fixes
    • Improved testing
  • 4.1.1, Jun 2021
    • Data Access API bug fixes
    • Improved attribute routing surrounding overlapping processes
  • 4.1.0, Apr 2021
  • 4.0.1, Mar 2021
    • Bug fixes
    • Documentation improvements
    • Test improvements
  • 4.0.0, Dec 2020
    • Updated documemtation
    • Segmented Tickerplant
    • Test Framework
  • 3.8.0, Oct 2020
    • Updated documentation
    • Install script added
    • Inclusive terminology
    • DQS,DQC and DQE upgrades
    • PCAP functionality additions
  • 3.7.0, May 2020
  • 3.6.0, Apr 2020:
  • 3.5.0, Aug 2019:
    • .torq stop and .torq summary functions updated
    • .torq restart function added
    • Grafana updated
    • Monitor checks script added
    • Email disabled if trying to run on Win64
    • Opencon modified to append user:password to tcps connections
    • Bug fixes
  • 3.4.1, Jan 2019:
    • Gateway Query .gw.syncexec bug identified and fixed
  • 3.4.0, Dec 2018:
    • Update of the torq.sh script to include debug and print start lines.
    • Integration of Monit for monitoring TorQ.
    • Integration of Grafana adaptor, allowing visualization of TorQ process data.
    • Added service layer for client specific customisation across all aplications.
    • Bug Fixes including:
    • Ability to specify parentproctype for processes when starting with torq.q
    • Function to check .proc.getattributes for non-TorQ processes.
    • Exit when setenv not sourced
    • qcon now allowed in debug mode
    • Hanging when null result returned from aysnc gateway request
  • 3.3.0, May 2018:
    • Upgraded to run with kdb+ v3.6. Note that it remains backwardly compatible with prior versions.
    • Implemented concurrent synchronous requests, as part of 3.6 upgrade
    • Added Response Formatter for gateway
    • Added Low Power Mode - aimed at use with Kx On Demand Licence
    • Added Initialisation Function invoked after a script is loaded and connections are established.
    • Changed the start script, to start or stop processes separately, in a batch or all at once. All the process configuration is now at one place in $KDBCONFIG/process.csv.
    • Bug fix for erroneous brackets that were causing permissions config to be loaded in incorrect order
  • 3.2.0, February 2018:
  • 3.1.0, May 2017:
    • added kafka which is a real time messaging system with persistent storage in message logs
    • added datareplay.q with functionality for generating tickerplant function calls from historical data which can be executed by subscriber functions
    • added subscribercutoff.q with functionality that can be used to cut off slow subscribers from processes
    • added new write down method for tickerlogreplay so match the writedown methods in the WDB
  • 3.0.0, January 2017:
    • Added a permissioning system, allowing granular control of access to users & groups
    • Added LDAP support, allowing a user to authenticate against an LDAP server
    • Improved documentation now available at http://dataintellecttech.github.io/TorQ/
  • 2.7.0, November 2016:
    • Tickerplant incorporated. Tickerplant has faster recovery for real time subscribers, and better timezone handling
    • Filealerter uses a splayed table to store the table of already processed data. If it finds a table in current format (flat) it will change it to a splay
    • Gateway bug fixes
    • Small improvements
  • 2.6.2, September 2016:
    • .z.pd and peach logic added to wdb.q
    • Bug fixes
  • 2.6.0, August 2016:
    • Added broadcast publishing
    • Added domain sockets and tcps as ipc connection mechanisms
    • Added fallback from domain sockets to tcp functionality
    • New gateway (which allows attributes to be sent rather than specifying the processes to hit)
    • Heartbeat subscriptions are easier
    • Supports snappy compression
    • Tested with kdb+ 3.4
    • Bug fixes
  • 2.5.0, April 2016:
    • Added u.q - publish/subscribe code from KDB+ Tick
    • Improved memusage.q to do sampling
    • Updated dataloader.q
    • Make sure all config can be read from KDBAPPCONFIG
  • 2.4.0, February 2016:
    • Added k4unit to allow tests to be automatically run via the -test parameter
    • Extended application config handling so all default config can be found in $KDBAPPCONFIG
    • Bug Fixes
  • 2.3.0, December 2015:
    • Added optional write down method to wdb process, which allows data to be written to custom partition schemes during the day. At the end of day before being moved to the hdb, data is merged instead of sorted, which will allow the data to be accessed sooner. The optional method may present a significant saving in time for datasets with a low cardinality (small distinct number of elements), i.e. FX market data
    • Added write access control to message handlers (using reval), which restricts the ability of querying clients to modify data in place
    • Added functionality to return approximate memory size of kdb+ objects
    • Bug fixes
  • 2.2.1, November 2015:
    • Bug fix - fixed endofdaysort to not throw type error when par.txt is available
    • Bug fix - fixed gateway so results are not dropped when a client loses connection and another is querying multiple servers
  • 2.2.0, October 2015:
    • Added application configuration management using $KDBAPPCONFIG environmnet variable
    • Added pid, host and port to heartbeat table
    • Changed gateway to be non intrusive
    • Bug fixes
  • 2.1.0, July 2015:
    • Added a chained tickerplant process
    • Updated housekeeping.csv to take in an extra column agemin which represents whether to use minutes or days in find function
    • Updated email libraries
  • 2.0.1, May 2015:
    • Added RDB process which extends r.q from kdb+ tick.
    • Added WDB to write down data periodically throughout the day. Extends w.q.
    • RDB and WDB allow seamless end-of-day event (no data outage, no tickerplant back pressure)
    • Added Reporting Process to run reports periodically and process the results
    • Added environment variable resolution to process.csv to allow greater portability. If a process is started without a port specified it will look it up from process.csv based on the proctype and procname.
    • Added -localtime flag to allow process to run in localtime rather than GMT (log message, timer calls etc.). The change is backwardly compatible - without -localtime flag the process will print logs etc. in GMT but can also have a different .z.P
    • Added Subscription code to manage multiple subscriptions to different data sources
    • Added email library which uses libcurl. Used to send emails from TorQ processes
    • Added standard monitoring checks to the database code
    • Added data loader script. Utility functions to load a directory of data into a database in chunks, sort and part at the end
    • Added tickerplant log recovery utilities to recover as many messages as possible from a log file rather than just stopping at the first bad message
    • Added compression process to run and compress a given database
    • Modified compression code to handle par.txt databases
    • Modified compression code and housekeeping process to run with kdb+ 2.*
    • Modified std out/err logging and usage logging to include process name and process type (the logmsg table had changed along with some of the functions in the .lg namespace so you might need to check in case you have overridden any of them)
    • Removed launchtick scripts and some default configuration: to create a test system, install a starter pack
  • 1.2.0, Sep 2014:
    • Tested on kdb+ 3.2
    • Added connections to external (non TorQ) processes using nonprocess.csv
    • Modified file alerter with optional switch to move or not move a file if any function fails to process the file
    • Discovery service(s) host:port(s) can be passed on the command line (.servers.DISCOVERY) to a process (this should enable complete bypassing of process.csv if required)
    • Add custom hook (.servers.connectcustom) which is invoked whenever a new connection is made (allows, for example, subscription to a new process)
    • Add optional application detail file ($KDBCONFIG/application.txt) to allow customisation of the start up banner (application version etc.)
    • If required env. variables (KDBCODE, KDBCONFIG, KDBLOG) are not set they will default to $QHOME/code, $QHOME/config, $QHOME/logs respectively (previously the process failed and exited)
  • 1.1.0, Apr 2014:
    • Added compression utilities, HTML5 utilities, housekeeping process, file alerter process, kdb+tick quick start
  • 1.0.0, Feb 2014:
    • Initial public release of TorQ