openresty / openresty/lua-nginx-module

Allow cosockets, light threads, semaphores and etc in the context of init_by_lua*

Open
#1,020 13 comments 28 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
11.8k
Forks
2.1k
Avg merge
6h 1m
Merged PRs (30d)
6

Description

It is desired to enable those Lua APIs that might yield in the context of init_by_lua*. It's particularly useful to have the ability to initiate multiple concurrent light threads to (pre)load crucial metadata from some remote services upon startup.

Under the hood, we can simply plant an event loop in the init_by_lua* handler with a configurable timeout protection (to avoid the server from taking too long to start).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the init_by_lua* handler and trace how startup code currently runs; inspect the module's handling of yielding Lua APIs before deciding how they can operate there. Completion should allow the named APIs and concurrent light threads during initialization while enforcing a configurable startup timeout, with coverage for successful loading and timeout behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, lua
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.