UWSGI_CURL_CRON(1)
๐ธ NAME ๐ธ
uwsgi_curl_cron โ a fast (pure C), self-healing, developer-friendly WSGI server ๐
โจ
๐ SYNOPSIS ๐
uwsgi-core [options...]
like. that's it. that's the whole vibe. you run uwsgi-core, you hand it [options...], and you go ๐ฆ
๐ DESCRIPTION ๐
okay bestie, first things first: this page right here is UWSGI_CURL_CRON(1), pulled straight out of the User Commands corner of the manual, and what follows is a LOT of options. like, a lot a lot. some of them are literally the same thing wearing a different name (uWSGI is an icon who believes in options, we respect that ๐ซถ), and every single one is listed below. no cap. let's get into it.
heads up: every bullet here is a flag you can pass, and the literal option names are sacred โ copy them exactly, don't freestyle ๐
๐งฆ the sockets section (where everything starts)
-s,--socketโ bind to the specified UNIX/TCP socket using the default protocol-s,--uwsgi-socketโ bind to the specified UNIX/TCP socket, but using the uwsgi protocol specifically--suwsgi-socketโ bind to the specified UNIX/TCP socket using the uwsgi protocol over SSL ๐--ssl-socketโ bind to the specified UNIX/TCP socket using the uwsgi protocol over SSL--http-socketโ bind to the specified UNIX/TCP socket using the HTTP protocol ๐--http-socket-modifier1โ force the specified modifier1 when using the HTTP protocol--http-socket-modifier2โ force the specified modifier2 when using the HTTP protocol--http11-socketโ bind to the specified UNIX/TCP socket using the HTTP 1.1 (Keep-Alive) protocol ๐--https-socketโ bind to the specified UNIX/TCP socket using the HTTPS protocol--https-socket-modifier1โ force the specified modifier1 when using the HTTPS protocol--https-socket-modifier2โ force the specified modifier2 when using the HTTPS protocol--fastcgi-socketโ bind to the specified UNIX/TCP socket using the FastCGI protocol--fastcgi-nph-socketโ bind to the specified UNIX/TCP socket using the FastCGI protocol, but in nph mode--fastcgi-modifier1โ force the specified modifier1 when using the FastCGI protocol--fastcgi-modifier2โ force the specified modifier2 when using the FastCGI protocol--scgi-socketโ bind to the specified UNIX/TCP socket using the SCGI protocol--scgi-nph-socketโ bind to the specified UNIX/TCP socket using the SCGI protocol, in nph mode--scgi-modifier1โ force the specified modifier1 when using the SCGI protocol--scgi-modifier2โ force the specified modifier2 when using the SCGI protocol--raw-socketโ bind to the specified UNIX/TCP socket using the RAW protocol--raw-modifier1โ force the specified modifier1 when using the RAW protocol--raw-modifier2โ force the specified modifier2 when using the RAW protocol--puwsgi-socketโ bind to the specified UNIX/TCP socket using the persistent uwsgi protocol (puwsgi) ๐ข--protocolโ force the specified protocol for default sockets--socket-protocolโ force the specified protocol for default sockets (yes, same energy, different flag name ๐)--shared-socketโ create a shared socket for advanced jailing or ipc--undeferred-shared-socketโ create a shared socket for advanced jailing or ipc, but in undeferred mode
๐ workers, processes & the harakiri hall of fame
-p,--processesโ spawn the specified number of workers/processes-p,--workersโ spawn the specified number of workers/processes (same thing, different alias, we love a duo)--thunder-lockโ serializeaccept()usage (if possible) โก-t,--harakiriโ set the harakiri timeout--harakiri-verboseโ turn on verbose mode for harakiri--harakiri-graceful-timeoutโ the interval between a graceful harakiri attempt and a sigkill--harakiri-graceful-signalโ use this signal instead of sigterm for graceful harakiri attempts--harakiri-queue-thresholdโ only trigger harakiri if the queue is greater than this threshold--harakiri-no-arhโ do not enable harakiri during after-request-hook--no-harakiri-arhโ do not enable harakiri during after-request-hook--no-harakiri-after-req-hookโ do not enable harakiri during after-request-hook--backtrace-depthโ set the backtrace depth--mule-harakiriโ set the harakiri timeout for mule tasks ๐ด
๐ config loading, placeholders & the opt-logic girlies
-x,--xmlconfigโ load config from an xml file-x,--xmlโ load config from an xml file--configโ load configuration using the pluggable system--fallback-configโ re-exec uwsgi with the specified config when the exit code is 1--strictโ enable strict mode (placeholder cannot be used) โ ๏ธ--skip-zeroโ skip the check of file descriptor 0--skip-atexitโ skip atexit hooks (this one is ignored by the master)--skip-atexit-teardownโ skip atexit teardown (also ignored by the master)-S,--setโ set a placeholder or an option--set-placeholderโ set a placeholder--set-phโ set a placeholder--getโ print the specified option value and exit--declare-optionโ declare a new uWSGI custom option--declare-option2โ declare a new uWSGI custom option (non-immediate)--resolveโ place the result of a dns query in the specified placeholder, syntax:placeholder=name(immediate option)--forโ (opt logic) for cycle--for-globโ (opt logic) for cycle (expand glob)--for-timesโ (opt logic) for cycle (expand the specified num to a list starting from 1)--for-readlineโ (opt logic) for cycle (expand the specified file to a list of lines)--endforโ (opt logic) end for cycle--end-forโ (opt logic) end for cycle--if-optโ (opt logic) check for option--if-not-optโ (opt logic) check for option--if-envโ (opt logic) check for environment variable--if-not-envโ (opt logic) check for environment variable--ifenvโ (opt logic) check for environment variable--if-reloadโ (opt logic) check for reload--if-not-reloadโ (opt logic) check for reload--if-hostnameโ (opt logic) check for hostname--if-not-hostnameโ (opt logic) check for hostname--if-hostname-matchโ (opt logic) try to match hostname against a regular expression--if-not-hostname-matchโ (opt logic) try to match hostname against a regular expression--if-existsโ (opt logic) check for file/directory existence--if-not-existsโ (opt logic) check for file/directory existence--ifexistsโ (opt logic) check for file/directory existence--if-pluginโ (opt logic) check for plugin--if-not-pluginโ (opt logic) check for plugin--ifpluginโ (opt logic) check for plugin--if-fileโ (opt logic) check for file existence--if-not-fileโ (opt logic) check for file existence--if-dirโ (opt logic) check for directory existence--if-not-dirโ (opt logic) check for directory existence--ifdirโ (opt logic) check for directory existence--if-directoryโ (opt logic) check for directory existence--endifโ (opt logic) end if--end-ifโ (opt logic) end if--blacklistโ set options blacklist context--end-blacklistโ clear options blacklist context--whitelistโ set options whitelist context--end-whitelistโ clear options whitelist context
๐ errors, signals & templates
--ignore-sigpipeโ do not report the (annoying)SIGPIPE--ignore-write-errorsโ do not report the (annoying)write()/writev()errors--write-errors-toleranceโ set the maximum number of allowed write errors (default: no tolerance โ and bestie, that default means exactly what it sounds like ๐ญ)--write-errors-exception-onlyโ only raise an exception on write errors, giving control to the app itself--disable-write-exceptionโ disable exception generation onwrite()/writev()--inheritโ use the specified file as a config template--includeโ include the specified file as immediate configuration--inject-beforeโ inject a text file before the config file (advanced templating)--inject-afterโ inject a text file after the config file (advanced templating)
๐ซก daemon mode, instance management & the little knobs
-d,--daemonizeโ daemonize uWSGI--daemonize2โ daemonize uWSGI after app loading--stopโ stop an instance--reloadโ reload an instance--pauseโ pause an instance--suspendโ suspend an instance--resumeโ resume an instance--connect-and-readโ connect to a socket and wait for data from it--extractโ fetch/dump any supported address to stdout-l,--listenโ set the socket listen queue size-v,--max-varsโ set the amount of internal iovec/vars structures--max-appsโ set the maximum number of per-worker applications-b,--buffer-sizeโ set the internal buffer size-m,--memory-reportโ enable memory report--profilerโ enable the specified profiler-c,--cgi-modeโ force CGI-mode for plugins supporting it-a,--abstract-socketโ force UNIX socket in abstract mode (Linux only ๐ง)-C,--chmod-socketโ chmod-socket-C,--chmodโ chmod-socket--chown-socketโ chown unix sockets--umaskโ set umask--freebindโ put socket in freebind mode--map-socketโ map sockets to specific workers-T,--enable-threadsโ enable threads (stub option, this is true by default ๐งต)--no-threads-waitโ do not wait for threads cancellation on quit/reload--auto-procnameโ automatically set process names to something meaningful--procname-prefixโ add a prefix to the process names--procname-prefix-spacedโ add a spaced prefix to the process names--procname-appendโ append a string to process names--procnameโ set process names--procname-masterโ set the master process name-i,--single-interpreterโ do not use multiple interpreters (where available)--need-appโ exit if no app can be loaded-M,--masterโ enable master process--honour-stdinโ do not remap stdin to/dev/null
๐ the Emperor era (yes, it gets its own cluster, as it should)
--emperorโ run the Emperor ๐--emperor-proxy-socketโ force the vassal to became an Emperor proxy--emperor-wrapperโ set a binary wrapper for vassals--emperor-wrapper-overrideโ set a binary wrapper for vassals to try before the default one--emperor-wrapper-fallbackโ set a binary wrapper for vassals to try as a last resort--emperor-nofollowโ do not follow symlinks when checking for mtime--emperor-procnameโ set the Emperor process name--emperor-freqโ set the Emperor scan frequency (default 3 seconds) โฑ๏ธ--emperor-required-heartbeatโ set the Emperor tolerance about heartbeats--emperor-curse-toleranceโ set the Emperor tolerance about cursed vassals ๐ญ
and bestieโฆ we are genuinely not even close to done yet ๐ there's more of this page coming, so don't you dare close the tab ๐ซถโจ
โจ OPTIONS โจ
--emperor-pidfileโ write the Emperor pid in the specified file ๐--emperor-tyrantโ put the Emperor in Tyrant mode ๐--emperor-tyrant-nofollowโ do not follow symlinks when checking foruid/gidin Tyrant mode ๐ โโ๏ธ--emperor-statsโ run the Emperor stats server ๐--emperor-stats-serverโ run the Emperor stats server ๐--early-emperorโ spawn the emperor as soon as possible โฐ--emperor-broodlordโ run the emperor in BroodLord mode ๐ฃ--emperor-throttleโ set throttling level (in milliseconds) for bad behaving vassals (default1000) ๐ค--emperor-max-throttleโ set max throttling level (in milliseconds) for bad behaving vassals (default3 minutes) ๐--emperor-magic-execโ prefix vassals config files withexec://if they have the executable bit โจ--emperor-on-demand-extensionโ search for text file (vassal name + extension) containing the on demand socket name ๐--emperor-on-demand-extโ search for text file (vassal name + extension) containing the on demand socket name ๐--emperor-on-demand-directoryโ enable on demand mode binding to the unix socket in the specified directory named like the vassal +.socket๐--emperor-on-demand-dirโ enable on demand mode binding to the unix socket in the specified directory named like the vassal +.socket๐--emperor-on-demand-execโ use the output of the specified command as on demand socket name (the vassal name is passed as the only argument) ๐โโ๏ธ--emperor-extra-extensionโ allows the specified extension in the Emperor (vassal will be called with--config) ๐--emperor-extra-extโ allows the specified extension in the Emperor (vassal will be called with--config) ๐--emperor-no-blacklistโ disable Emperor blacklisting subsystem ๐ซ--emperor-use-cloneโ useclone()instead offork()passing the specifiedunshare()flags ๐งฌ--emperor-graceful-shutdownโ use vassals graceful shutdown during ragnarok ๐--emperor-capโ set vassals capability ๐ฉ--vassals-capโ set vassals capability ๐ฉ--vassal-capโ set vassals capability ๐ฉ--imperial-monitor-listโ list enabled imperial monitors ๐--imperial-monitors-listโ list enabled imperial monitors ๐--vassals-inheritโ add config templates to vassals config (uses--inherit) ๐งฌ--vassals-includeโ include config templates to vassals config (uses--includeinstead of--inherit) ๐งฌ--vassals-inherit-beforeโ add config templates to vassals config (uses--inherit, parses before the vassal file) ๐งฌ--vassals-include-beforeโ include config templates to vassals config (uses--includeinstead of--inherit, parses before the vassal file) ๐งฌ--vassals-start-hookโ run the specified command before each vassal starts ๐--vassals-stop-hookโ run the specified command after vassal's death โฐ๏ธ--vassal-sosโ ask emperor for reinforcement when overloaded ๐--vassal-sos-backlogโ ask emperor for sos if backlog queue has more items than the value specified ๐--vassals-setโ automatically set the specified option (via--set) for every vassal โ๏ธ--vassal-setโ automatically set the specified option (via--set) for every vassal โ๏ธ--heartbeatโ announce healthiness to the emperor ๐--reload-mercyโ set the maximum time (in seconds) we wait for workers and other processes to die during reload/shutdown ๐๏ธ--worker-reload-mercyโ set the maximum time (in seconds) a worker can take to reload/shutdown (default is60) ๐๏ธ--mule-reload-mercyโ set the maximum time (in seconds) a mule can take to reload/shutdown (default is60) ๐๏ธ--exit-on-reloadโ force exit even if a reload is requested ๐ช--die-on-termโ exit instead of brutal reload onSIGTERM๐--force-gatewayโ force the spawn of the first registered gateway without a master ๐ช-h|--helpโ show this help ๐-h|--usageโ show this help ๐--print-symโ print content of the specified binary symbol ๐ฃ--print-symbolโ print content of the specified binary symbol ๐ฃ-r|--reaperโ callwaitpid(-1,...)after each request to get rid of zombies ๐ง-R|--max-requestsโ reload workers after the specified amount of managed requests ๐--max-requests-deltaโ add(worker_id * delta)to themax_requestsvalue of each worker โ--min-worker-lifetimeโ number of seconds worker must run before being reloaded (default is10) โณ--max-worker-lifetimeโ reload workers after the specified amount of seconds (default is disabled) โณ--max-worker-lifetime-deltaโ add(worker_id * delta)seconds to themax_worker_lifetimevalue of each worker โ-z|--socket-timeoutโ set internal sockets timeout โฑ๏ธ--no-fd-passingโ disable file descriptor passing ๐ซ--locksโ create the specified number of shared locks ๐--lock-engineโ set the lock engine ๐ง--ftokโ set the ipcsem key viaftok()for avoiding duplicates ๐--persistent-ipcsemโ do not remove ipcsem's on shutdown ๐ง-A|--sharedareaโ create a raw shared memory area of specified pages (note: it supports keyval too) ๐ง--safe-fdโ do not close the specified file descriptor ๐--fd-safeโ do not close the specified file descriptor ๐--cacheโ create a shared cache containing given elements ๐๏ธ--cache-blocksizeโ set cache blocksize ๐งฑ--cache-storeโ enable persistent cache to disk ๐พ--cache-store-syncโ set frequency of sync for persistent cache ๐--cache-no-expireโ disable auto sweep of expired items ๐งน--cache-expire-freqโ set the frequency of cache sweeper scans (default3 seconds) ๐งน--cache-report-freed-itemsโ constantly report the cache item freed by the sweeper (use only for debug) ๐--cache-udp-serverโ bind the cache udp server (used only for set/update/delete) to the specified socket ๐ก--cache-udp-nodeโ send cache update/deletion to the specified cache udp server ๐ก--cache-syncโ copy the whole content of another uWSGI cache server on server startup ๐๏ธ--cache-use-last-modifiedโ updatelast_modified_attimestamp on every cache item modification (default is disabled) ๐--add-cache-itemโ add an item in the cache โ--load-file-in-cacheโ load a static file in the cache ๐--load-file-in-cache-gzipโ load a static file in the cache with gzip compression ๐๏ธ--cache2โ create a new generation shared cache (keyval syntax) ๐๏ธ--queueโ enable shared queue ๐ฌ--queue-blocksizeโ set queue blocksize ๐งฑ--queue-storeโ enable persistent queue to disk ๐พ--queue-store-syncโ set frequency of sync for persistent queue ๐-Q|--spoolerโ run a spooler on the specified directory ๐งต--spooler-externalโ map spoolers requests to a spooler directory managed by an external instance ๐--spooler-orderedโ try to order the execution of spooler tasks ๐ข--spooler-chdirโchdir()to specified directory before each spooler task ๐--spooler-processesโ set the number of processes for spoolers ๐งต--spooler-quietโ do not be verbose with spooler tasks ๐คซ--spooler-max-tasksโ set the maximum number of tasks to run before recycling a spooler ๐--spooler-harakiriโ set harakiri timeout for spooler tasks ๐ก๏ธ--spooler-frequencyโ set spooler frequency โฑ๏ธ--spooler-freqโ set spooler frequency โฑ๏ธ--muleโ add a mule ๐ด--mulesโ add the specified number of mules ๐ด--farmโ add a mule farm ๐--mule-msg-sizeโ set mule message buffer size ๐จ--signalโ send a uwsgi signal to a server ๐ถ--signal-bufsizeโ set buffer size for signal queue ๐ถ--signals-bufsizeโ set buffer size for signal queue ๐ถ--signal-timerโ add a timer (syntax:<signal> <seconds>) โฒ๏ธ--timerโ add a timer (syntax:<signal> <seconds>) โฒ๏ธ--signal-rbtimerโ add a redblack timer (syntax:<signal> <seconds>) โฒ๏ธ--rbtimerโ add a redblack timer (syntax:<signal> <seconds>) โฒ๏ธ--rpc-maxโ maximum number of rpc slots (default:64) ๐-L|--disable-loggingโ disable request logging ๐--flockโ lock the specified file before starting, exit if locked ๐--flock-waitโ lock the specified file before starting, wait if locked ๐--flock2โ lock the specified file after logging/daemon setup, exit if locked ๐--flock-wait2โ lock the specified file after logging/daemon setup, wait if locked ๐--pidfileโ create pidfile (before privileges drop) ๐--pidfile2โ create pidfile (after privileges drop) ๐--safe-pidfileโ create safe pidfile (before privileges drop) ๐--safe-pidfile2โ create safe pidfile (after privileges drop) ๐--chrootโchroot()to the specified directory ๐ฐ--pivot-rootโpivot_root()to the specified directories (new_root and put_old must be separated with a space) ๐--pivot_rootโpivot_root()to the specified directories (new_root and put_old must be separated with a space) ๐--uidโ setuid to the specified user/uid ๐ค--gidโ setgid to the specified group/gid ๐ฅ--add-gidโ add the specified group id to the process credentials โ--immediate-uidโ setuid to the specified user/uid IMMEDIATELY โก--immediate-gidโ setgid to the specified group/gid IMMEDIATELY โก--no-initgroupsโ disable additional groups set viainitgroups()๐ซ--capโ set process capability ๐ฉ--unshareโunshare()part of the processes and put it in a new namespace ๐งฌ--unshare2โunshare()part of the processes and put it in a new namespace after rootfs change ๐งฌ--setns-socketโ expose a unix socket returning namespace fds from/proc/self/ns๐--setns-socket-skipโ skip the specified entry when sending setns file descriptors โญ๏ธ--setns-skipโ skip the specified entry when sending setns file descriptors โญ๏ธ--setnsโ join a namespace created by an external uWSGI instance ๐ช--setns-preopenโ open/proc/self/nsas soon as possible and cache fds ๐๏ธ--jailedโ okay so this marks the instance as jailed, which forces thepost_jailhooks to actually run. it's giving "I'm in jail, do the thing" energy ๐--reforkโfork()again after privileges drop. super useful for jailing systems, bestie ๐ซถ--re-forkโ same vibe as--refork:fork()again after privileges drop. jailing systems love this โจ--refork-as-rootโfork()again before privileges drop. also for jailing systems, iconic behavior ๐ฅ--re-fork-as-rootโ literally the same as--refork-as-root:fork()again before privileges drop. jailing systems stay winning ๐--refork-post-jailโfork()again after jailing. jailing systems, this one's for you ๐ง--re-fork-post-jailโ twin of--refork-post-jail:fork()again after jailing. for all the jailing systems out there ๐--hook-asapโ run the specified hook as soon as possible. no waiting, no cap โญ--hook-pre-jailโ run the specified hook before jailing ๐--hook-post-jailโ run the specified hook after jailing ๐ฆ--hook-in-jailโ run the specified hook in jail after initialization ๐ธ--hook-as-rootโ run the specified hook before privileges drop ๐--hook-as-userโ run the specified hook after privileges drop ๐--hook-as-user-atexitโ run the specified hook before app exit and reload ๐--hook-pre-appโ run the specified hook before app loading โจ--hook-post-appโ run the specified hook after app loading ๐--hook-post-forkโ run the specified hook after each fork ๐--hook-acceptingโ run the specified hook after each worker enters the accepting phase ๐--hook-accepting1โ run the specified hook after the first worker enters the accepting phase ๐ฅ--hook-accepting-onceโ run the specified hook after each worker enters the accepting phase, but only once per-instance ๐ซถ--hook-accepting1-onceโ run the specified hook after the first worker enters the accepting phase, once per instance โจ--hook-master-startโ run the specified hook when the Master starts ๐--hook-touchโ run the specified hook when the specified file is touched. syntax:<file> <action>๐--hook-emperor-startโ run the specified hook when the Emperor starts ๐--hook-emperor-stopโ run the specified hook when the Emperor sends a stop message ๐--hook-emperor-reloadโ run the specified hook when the Emperor sends a reload message ๐--hook-emperor-lostโ run the specified hook when the Emperor connection is lost ๐ญ--hook-as-vassalโ run the specified hook beforeexec()ing the vassal ๐ง--hook-as-emperorโ run the specified hook in the emperor after the vassal has been started ๐--hook-as-muleโ run the specified hook in each mule ๐ด--hook-as-gatewayโ run the specified hook in each gateway ๐--after-request-hookโ run the specified function/symbol after each request ๐--after-request-callโ run the specified function/symbol after each request โจ--exec-asapโ run the specified command as soon as possible โก--exec-pre-jailโ run the specified command before jailing ๐--exec-post-jailโ run the specified command after jailing ๐ฆ--exec-in-jailโ run the specified command in jail after initialization ๐ธ--exec-as-rootโ run the specified command before privileges drop ๐--exec-as-userโ run the specified command after privileges drop ๐--exec-as-user-atexitโ run the specified command before app exit and reload ๐--exec-pre-appโ run the specified command before app loading โจ--exec-post-appโ run the specified command after app loading ๐--exec-as-vassalโ run the specified command beforeexec()ing the vassal ๐ง--exec-as-emperorโ run the specified command in the emperor after the vassal has been started ๐--mount-asapโ mount filesystem as soon as possible โก--mount-pre-jailโ mount filesystem before jailing ๐--mount-post-jailโ mount filesystem after jailing ๐ฆ--mount-in-jailโ mount filesystem in jail after initialization ๐ธ--mount-as-rootโ mount filesystem before privileges drop ๐--mount-as-vassalโ mount filesystem beforeexec()ing the vassal ๐ง--mount-as-emperorโ mount filesystem in the emperor after the vassal has been started ๐--umount-asapโ unmount filesystem as soon as possible โก--umount-pre-jailโ unmount filesystem before jailing ๐--umount-post-jailโ unmount filesystem after jailing ๐ฆ--umount-in-jailโ unmount filesystem in jail after initialization ๐ธ--umount-as-rootโ unmount filesystem before privileges drop ๐--umount-as-vassalโ unmount filesystem beforeexec()ing the vassal ๐ง--umount-as-emperorโ unmount filesystem in the emperor after the vassal has been started ๐--wait-for-interfaceโ wait for the specified network interface to come up before running root hooks ๐--wait-for-interface-timeoutโ set the timeout forwait-for-interfaceโณ--wait-interfaceโ wait for the specified network interface to come up before running root hooks ๐--wait-interface-timeoutโ set the timeout forwait-for-interfaceโณ--wait-for-ifaceโ wait for the specified network interface to come up before running root hooks ๐--wait-for-iface-timeoutโ set the timeout forwait-for-interfaceโณ--wait-ifaceโ wait for the specified network interface to come up before running root hooks ๐--wait-iface-timeoutโ set the timeout forwait-for-interfaceโณ--wait-for-fsโ wait for the specified filesystem item to appear before running root hooks ๐--wait-for-fileโ wait for the specified file to appear before running root hooks ๐--wait-for-dirโ wait for the specified directory to appear before running root hooks ๐--wait-for-mountpointโ wait for the specified mountpoint to appear before running root hooks ๐--wait-for-fs-timeoutโ set the timeout forwait-for-fs/file/dirโณ--wait-for-socketโ wait for the specified socket to be ready before loading apps ๐--wait-for-socket-timeoutโ set the timeout forwait-for-socketโณ--call-asapโ call the specified function as soon as possible โก--call-pre-jailโ call the specified function before jailing ๐--call-post-jailโ call the specified function after jailing ๐ฆ--call-in-jailโ call the specified function in jail after initialization ๐ธ--call-as-rootโ call the specified function before privileges drop ๐--call-as-userโ call the specified function after privileges drop ๐--call-as-user-atexitโ call the specified function before app exit and reload ๐--call-pre-appโ call the specified function before app loading โจ--call-post-appโ call the specified function after app loading ๐--call-as-vassalโ call the specifiedfunction()beforeexec()ing the vassal ๐ง--call-as-vassal1โ call the specifiedfunction(char *)beforeexec()ing the vassal ๐ง--call-as-vassal3โ call the specifiedfunction(char *, uid_t, gid_t)beforeexec()ing the vassal ๐ง--call-as-emperorโ call the specifiedfunction()in the emperor after the vassal has been started ๐--call-as-emperor1โ call the specifiedfunction(char *)in the emperor after the vassal has been started ๐--call-as-emperor2โ call the specifiedfunction(char *, pid_t)in the emperor after the vassal has been started ๐--call-as-emperor4โ call the specifiedfunction(char *, pid_t, uid_t, gid_t)in the emperor after the vassal has been started ๐--iniโ load config from ini file ๐-y,--yamlโ load config from yaml file ๐งพ-y,--ymlโ load config from yaml file ๐งพ-j,--jsonโ load config from json file ๐ฆ-j,--jsโ load config from json file ๐ฆ--weightโ weight of the instance, used by clustering/lb/subscriptions โ๏ธ--auto-weightโ set weight of the instance automatically, used by clustering/lb/subscriptions ๐ค--no-serverโ force no-server mode ๐ซ--command-modeโ force command mode ๐ป--no-defer-acceptโ disable deferred-accept on sockets ๐ซ--tcp-nodelayโ enable TCP NODELAY on each request ๐--so-keepaliveโ enable TCP KEEPALIVEs ๐--so-send-timeoutโ setSO_SNDTIMEOโฑ๏ธ--socket-send-timeoutโ setSO_SNDTIMEOโฑ๏ธ--so-write-timeoutโ setSO_SNDTIMEOโฑ๏ธ--socket-write-timeoutโ setSO_SNDTIMEOโฑ๏ธ--socket-sndbufโ setSO_SNDBUF๐ค--socket-rcvbufโ setSO_RCVBUF๐ฅ--shutdown-socketsโ force callingshutdown()in addition toclose()when sockets are destroyed ๐--limit-asโ limit processes address space/vsz ๐ง--limit-nprocโ limit the number of spawnable processes ๐ฅ--reload-on-asโ reload if address space is higher than specified megabytes ๐--reload-on-rssโ reload if rss memory is higher than specified megabytes ๐--evil-reload-on-asโ force the master to reload a worker if its address space is higher than specified megabytes ๐--evil-reload-on-rssโ force the master to reload a worker if its rss memory is higher than specified megabytes ๐--mem-collector-freqโ set the memory collector frequency when evil reloads are in place ๐งน--reload-on-fdโ reload if the specified file descriptor is ready ๐--brutal-reload-on-fdโ brutal reload if the specified file descriptor is ready ๐ฅ--ksmโ enable Linux KSM ๐ง--pcre-jitโ enable pcre jit, if available โก--never-swapโ lock all memory pages avoiding swapping ๐--touch-reloadโ reload uWSGI if the specified file is modified/touched ๐--touch-workers-reloadโ trigger reload of only workers if the specified file is modified/touched ๐ท--touch-mules-reloadโ reload mules if the specified file is modified/touched ๐ด--touch-spoolers-reloadโ reload spoolers if the specified file is modified/touched ๐งต--touch-chain-reloadโ trigger chain reload if the specified file is modified/touched โ๏ธ--touch-logrotateโ trigger logrotation if the specified file is modified/touched ๐--touch-logreopenโ trigger log reopen if the specified file is modified/touched ๐--touch-execโ run command when the specified file is modified/touched. syntax:file command๐--touch-signalโ filesystem watch duty activated โจ whenever the file you point at gets modified or touched, it fires off a signal. Syntax is literallyfile signal๐--fs-reloadโ when the filesystem object you named gets modified, do a graceful reload ๐ฆ smooth, polite, immaculate.--fs-brutal-reloadโ same vibe check, zero chill: filesystem object changes โ brutal reload ๐--fs-signalโ when that filesystem object gets modified, raise a uwsgi signal. Syntax:file signal๐ธ--check-mountpointโ if a filesystem is no longer reachable, the instance gets destroyed. Genuinely useful for reliable Fuse management ๐--mountpoint-checkโ bestie this is the exact same thing as--check-mountpoint: filesystem unreachable โ instance destroyed, and yes it's for reliable Fuse management ๐--check-mountโ yep, another alias. Filesystem no longer reachable โ destroy the instance, useful for reliable Fuse management ๐ฆ--mount-checkโ the fourth and final twin of this little quartet. Unreachable filesystem โ destroyed instance, reliable Fuse management, periodt ๐--propagate-touchโ an over-engineering option for systems with flaky signal management ๐ like, it exists specifically for that chaos.--limit-postโ limit the request body. Cap it. Set the boundary ๐ฅ--limit-post,--no-orphansgirlies listen up โ wait no, real talk:--no-orphansautomatically kills workers if the master dies. Can be dangerous for availability, so know what you're doing โ ๏ธ--prioโ set the priority of processes/threads ๐--cpu-affinityโ set CPU affinity. Pin those babies down ๐--post-bufferingโ set the size in bytes after which it buffers to disk instead of memory ๐ง--post-buffering-bufsizeโ set the buffer size forread()in post buffering mode ๐ธ--body-read-warningโ set how much memory allocation (in megabytes) is allowed for a request body before it starts printing a warning ๐--upload-progressโ enable creation of.jsonfiles in the specified directory during a file upload โจ like, live updates on the upload, we love to see it.--no-default-appโ do not fall back to the default app. No safety net, no plan B ๐--manage-script-nameโ automatically rewriteSCRIPT_NAMEandPATH_INFOfor you ๐ซถ it's giving helpful.--ignore-script-nameโ ignoreSCRIPT_NAMEentirely ๐--catch-exceptionsโ report exceptions as http output. Discouraged โ use only for testing ๐ฅ do not ship this, bestie.--reload-on-exceptionโ an exception gets raised โ the worker reloads ๐--reload-on-exception-typeโ reload a worker when a specific exception type is raised ๐--reload-on-exception-valueโ reload a worker when a specific exception value is raised ๐--reload-on-exception-reprโ reload a worker when a specific exception type + value (language-specific) is raised ๐ฆ--exception-handlerโ add an exception handler. Catch it, handle it, slay ๐ธ
--enable-metricsโ turn the metrics subsystem on ๐--metricโ add a custom metric, your own little number to obsess over โจ--metric-thresholdโ add a metric threshold/alarm ๐จ--metric-alarmโ add a metric threshold/alarm (same thing, different name, iconic) ๐ฅ--alarm-metricโ and once more for the people in the back: add a metric threshold/alarm ๐--metrics-dirโ export metrics as text files into the specified directory ๐--metrics-dir-restoreโ restore the last value taken from the metrics dir ๐ฆ--metric-dirโ export metrics as text files into the specified directory (singularmetric, same energy) ๐--metric-dir-restoreโ restore last value taken from the metrics dir ๐ธ--metrics-no-coresโ disable generation of cores-related metrics ๐--udpโ run the udp server on the specified address ๐ก--statsโ enable the stats server on the specified address ๐--stats-serverโ enable the stats server on the specified address (the alias said "me too") ๐--stats-httpโ prefix the stats server json output with http headers ๐--stats-minifiedโ minify the statistics json output, compact queen โจ--stats-minโ minify statistics json output, the short name version ๐--stats-pushโ push the stats json to the specified destination ๐--stats-pusher-default-freqโ set the default frequency of stats pushers โฑ๏ธ--stats-pushers-default-freqโ set the default frequency of stats pushers (plural pushers, same deal) ๐--stats-no-coresโ disable generation of cores-related stats ๐--stats-no-metricsโ do not include metrics in the stats output ๐ฆ--multicastโ subscribe to the specified multicast group ๐ป--multicast-ttlโ set the multicast ttl ๐ธ--multicast-loopโ set multicast loop (default1) ๐--master-fifoโ enable the master fifo ๐--notify-socketโ enable the notification socket ๐--subscription-notify-socketโ set the notification socket for subscriptions ๐ฌ
--legionโ became a member of a legion โ๏ธ main character energy fr.--legion-mcastโ became a member of a legion, but as a shortcut for multicast ๐ฆ--legion-nodeโ add a node to a legion ๐--legion-freqโ set the frequency of legion packets ๐ก--legion-toleranceโ set the tolerance of the legion subsystem ๐--legion-death-on-lord-errorโ if one of the lord hooks fails, declare itself a dead node for the specified amount of seconds ๐ dramatic but valid.--legion-skew-toleranceโ set the clock skew tolerance of the legion subsystem (default60seconds) โฑ๏ธ--legion-lordโ action to call on Lord election ๐--legion-unlordโ action to call on Lord dismiss ๐--legion-setupโ action to call on legion setup ๐ ๏ธ--legion-deathโ action to call on legion death (shutdown of the instance) ๐ชฆ--legion-joinโ action to call on legion join (first time quorum is reached) ๐--legion-node-joinedโ action to call on a new node joining the legion ๐ซถ--legion-node-leftโ action to call on a node leaving the legion ๐ช--legion-quorumโ set the quorum of a legion ๐ณ๏ธ--legion-scrollโ set the scroll of a legion ๐--legion-scroll-max-sizeโ set the max size of the legion scroll buffer ๐ฆ--legion-scroll-list-max-sizeโ set the max size of the legion scroll list buffer ๐--subscriptions-sign-checkโ set the digest algorithm and certificate directory for the secured subscription system ๐--subscriptions-sign-check-toleranceโ set the maximum tolerance (in seconds) of clock skew for the secured subscription system โฑ๏ธ--subscriptions-sign-skip-uidโ skip the signature check for the specified uid when using unix sockets credentials ๐--subscriptions-credentials-checkโ add a directory to search for subscriptions key credentials ๐--subscriptions-use-credentialsโ enable management ofSCM_CREDENTIALSin subscriptions UNIX sockets ๐--subscription-algoโ set the load balancing algorithm for the subscription system โ๏ธ--subscription-dotsplitโ try to fall back to the next part (dot based) in the subscription key ๐ธ--subscribe-toโ subscribe to the specified subscription server ๐ฌ--stโ subscribe to the specified subscription server (short king) ๐--subscribeโ subscribe to the specified subscription server (the classic) โจ--subscribe2โ subscribe to the specified subscription server using the advanced keyval syntax ๐ฆ--subscribe-freqโ send the subscription announce at the specified interval ๐ฃ--subscription-toleranceโ set tolerance for subscription servers ๐--unsubscribe-on-graceful-reloadโ force the unsubscribe request even during a graceful reload ๐ no loose ends.--start-unsubscribedโ configure subscriptions but do not send them โ useful with master fifo ๐คซ--subscribe-with-modifier1โ force the specified modifier1 when subscribing ๐
--snmpโ enable the embedded snmp server ๐--snmp-communityโ set the snmp community string ๐ค--ssl-verboseโ be verbose about SSL errors, spill the tea on what broke ๐ซ--ssl-verify-depthโ set the maximum certificate verification depth ๐ช--sniโ add an SNI-governed SSL context ๐--sni-dirโ check forcert/key/client_cafiles in the specified directory and create a sni/ssl context on demand ๐--sni-dir-ciphersโ set ssl ciphers for thesni-diroption ๐--ssl-enable3โ enable SSLv3. Insecure, bestie, like genuinely โ ๏ธ--ssl-enable-sslv3โ enable SSLv3. Also insecure ๐--ssl-enable-tlsv1โ enable TLSv1. Insecure too ๐--ssl-optionโ set a raw ssl option (numeric value) ๐ข--sni-regexpโ add an SNI-governed SSL context, but the key is a regexp ๐ง--ssl-tmp-dirโ store ssl-related temp files in the specified directory ๐๏ธ
--check-intervalโ set the interval (in seconds) of master checks โฐ--forkbomb-delayโ sleep for the specified number of seconds when a forkbomb is detected ๐ด crisis nap.--binary-pathโ force the binary path ๐--privileged-binary-patchโ patch the uwsgi binary with a new command (before privileges drop) ๐ง--unprivileged-binary-patchโ patch the uwsgi binary with a new command (after privileges drop) ๐ ๏ธ--privileged-binary-patch-argโ patch the uwsgi binary with a new command and arguments (before privileges drop) ๐--unprivileged-binary-patch-argโ patch the uwsgi binary with a new command and arguments (after privileges drop) ๐--asyncโ enable async mode with the specified cores โก--max-fdโ set the maximum number of file descriptors (requires root privileges) ๐--logtoโ set the logfile/udp address ๐--logto2โ log to the specified file or udp address after privileges drop ๐ช--log-formatโ set an advanced format for request logging ๐จ--logformatโ set advanced format for request logging (the no-dash twin) โจ--logformat-strftimeโ applystrftimeto the logformat output ๐ฐ๏ธ--log-format-strftimeโ applystrftimeto the logformat output (dashed flavour) ๐ธ--logfile-chownโ chown logfiles ๐งพ--logfile-chmodโ chmod logfiles ๐--log-syslogโ log to syslog ๐ฎ--log-socketโ send logs to the specified socket ๐--req-loggerโ set/append a request logger ๐--logger-reqโ set/append a request logger (flipped name, same job) ๐--loggerโ set/append a logger ๐๏ธ--logger-listโ list enabled loggers ๐--loggers-listโ list enabled loggers (plural edition) ๐ฆ--threaded-loggerโ offload log writing to a thread ๐งต--log-encoderโ add an item in the log encoder chain ๐--log-req-encoderโ add an item in the log req encoder chain ๐--log-drainโ drain (do not show) log lines matching the specified regexp ๐ซ--log-filterโ show only log lines matching the specified regexp ๐--log-routeโ log to the specified named logger if the regexp applied on the logline matches ๐ฏ--log-req-routeโ log requests to the specified named logger if the regexp applied on the logline matches ๐ฏ--use-abortโ callabort()on segfault/fpe, which could be useful for generating a core dump ๐ฅ--alarmโ create a new alarm ๐จ syntax is literally<alarm> <plugin:args>โ like for real, that's the format, bestie.--alarm-cheapโ use the main alarm thread instead of creating dedicated threads for curl-based alarms. shared thread energy, less chaos ๐--alarm-freqโ tune the anti-loop alarm system, default is3 seconds. Keep that loop from becoming a toxic situationship. โฐ--alarm-fdโ raise the specified alarm when an fd is read for read (by default it reads1 byte, set8for eventfd). bytes are literally the blueprint ๐--alarm-segfaultโ raise the specified alarm when the segmentation fault handler is executed. ๐ segfault jumpscare--segfault-alarmโ same slay, same job: raise the specified alarm when the segmentation fault handler is executed. ๐--alarm-backlogโ raise the specified alarm when the socket backlog queue is full. backlog said no more room bestie ๐จ--backlog-alarmโ raise the specified alarm when the socket backlog queue is full. same drama, different flag name ๐จ--lq-alarmโ raise the specified alarm when the socket backlog queue is full. listen queue said capacity who? ๐จ--alarm-lqโ raise the specified alarm when the socket backlog queue is full. yes, another alias, we love consistency ๐จ--alarm-listen-queueโ raise the specified alarm when the socket backlog queue is full. the queue is full and it's giving overwhelmed ๐จ--listen-queue-alarmโ raise the specified alarm when the socket backlog queue is full. same alarm, just doing a little name reveal ๐จ--log-alarmโ raise the specified alarm when a log line matches the specified regexp. Syntax:<alarm>[,alarm...] <regexp>. regexp girlies rise ๐--alarm-logโ raise the specified alarm when a log line matches the specified regexp. Syntax:<alarm>[,alarm...] <regexp>. alias behavior, iconic ๐--not-log-alarmโ skip the specified alarm when a log line matches the specified regexp. Syntax:<alarm>[,alarm...] <regexp>. not me, not today ๐--not-alarm-logโ skip the specified alarm when a log line matches the specified regexp. Syntax:<alarm>[,alarm...] <regexp>. same skip, different spelling ๐--alarm-listโ list enabled alarms. show me the roster ๐--alarms-listโ list enabled alarms. plural version, still just listing them ๐--alarm-msg-sizeโ set the max size of an alarm message, default8192. big messages need boundaries too ๐จ--log-masterโ delegate logging to the master process. master said I'll handle the diary ๐--log-master-bufsizeโ set the buffer size for the master logger. Bigger log messages will be truncated. truncation is not a vibe but it happens โ๏ธ--log-master-streamโ create the master logpipe asSOCK_STREAM. stream mode activated ๐--log-master-req-streamโ create the master requests logpipe asSOCK_STREAM. requests logpipe also gets the stream treatment ๐--log-reopenโ reopen log after reload. fresh log, fresh me ๐--log-truncateโ truncate log on startup. clean slate, no receipts ๐งน--log-maxsizeโ set maximum logfile size. cap it before it caps you ๐--log-backupnameโ set logfile name after rotation. rotated logs need a new name tag ๐ท๏ธ--logdateโ prefix logs with date or a strftime string. timestamps are the moment ๐ฐ๏ธ--log-dateโ prefix logs with date or a strftime string. same timestamp energy, dash included ๐ฐ๏ธ--log-prefixโ prefix logs with a string. put a little label on it ๐--log-zeroโ log responses without body. empty body representation matters ๐ซฅ--log-slowโ log requests slower than the specified number of milliseconds. slow requests get exposed ๐--log-4xxโ log requests with a4xxresponse. client said oops ๐ซ--log-5xxโ log requests with a5xxresponse. server said uh oh ๐ฅ--log-bigโ log requests bigger than the specified size. thicc requests get noticed ๐--log-sendfileโ log sendfile requests. sendfile stays on the record ๐ค--log-ioerrorโ log requests with io errors. io errors, we see you ๐--log-microsโ report response time in microseconds instead of milliseconds. micro precision, we love to see it ๐ฌ--log-x-forwarded-forโ use the ip fromX-Forwarded-Forheader instead ofREMOTE_ADDR. real ip reveal era ๐--master-as-rootโ leave master process running as root. root privileges stay on, be careful bestie ๐--drop-after-initโ run privileges drop after plugin initialization, superseded bydrop-after-apps. old way, newer option took the crown โณ--drop-after-appsโ run privileges drop after apps loading, superseded bymaster-as-root. also superseded, the plot thickens โณ--force-cwdโ force the initial working directory to the specified value. cwd said you will be here ๐--binshโ override/bin/sh(used by exec hooks, it always fallback to/bin/sh). shell override with a fallback safety net ๐--chdirโ chdir to specified directory before apps loading. move before the apps show up ๐ช--chdir2โ chdir to specified directory after apps loading. move after the apps are already seated ๐ช--lazyโ set lazy mode (load apps in workers instead of master). lazy mode but make it strategic ๐ด--lazy-appsโ load apps in each worker instead of the master. every worker gets its own app loading moment ๐ด--cheapโ set cheap mode (spawn workers only after the first request). workers said we'll show up when needed ๐ธ--cheaperโ set cheaper mode (adaptive process spawning). adaptive spawning, main character efficiency ๐--cheaper-initialโ set the initial number of processes to spawn in cheaper mode. starting lineup size ๐งฎ--cheaper-algoโ choose to algorithm used for adaptive process spawning. pick your algorithm fighter ๐ค--cheaper-stepโ number of additional processes to spawn at each overload. overload says add more โ--cheaper-overloadโ increase workers after specified overload. after this much overload, spawn more โก--cheaper-algo-listโ list enabled cheapers algorithms. show the algorithm menu ๐--cheaper-algos-listโ list enabled cheapers algorithms. plural alias, same list energy ๐--cheaper-listโ list enabled cheapers algorithms. short and sweet alias ๐--cheaper-rss-limit-softโ don't spawn new workers if total resident memory usage of all workers is higher than this limit. soft limit says maybe chill ๐ง--cheaper-rss-limit-hardโ if total workers resident memory usage is higher try to stop workers. hard limit says okay stop ๐--idleโ set idle mode (put uWSGI in cheap mode after inactivity). idle mode, cozy but efficient ๐๏ธ--die-on-idleโ shutdown uWSGI when idle. idle means goodbye ๐--mountโ load application under mountpoint. mount it like it's meant to be there ๐๏ธ--worker-mountโ load application under mountpoint in the specified worker or after workers spawn. worker-specific mount moment ๐๏ธ--threadsโ run each worker in prethreaded mode with the specified number of threads. prethreaded mode, thread count activated ๐งต--thread-stacksizeโ set threads stacksize. stacksize but for threads ๐--threads-stacksizeโ set threads stacksize. plural alias doing the same ๐--thread-stack-sizeโ set threads stacksize. dash version, still stacksize ๐--threads-stack-sizeโ set threads stacksize. all the aliases came to the function ๐--vhostโ enable virtualhosting mode (based onSERVER_NAMEvariable). virtualhosting viaSERVER_NAME๐--vhost-hostโ enable virtualhosting mode (based onHTTP_HOSTvariable). virtualhosting viaHTTP_HOST๐--routeโ add a route. routing era begins ๐ฃ๏ธ--route-hostโ add a route based onHostheader. host header decides ๐ท๏ธ--route-uriโ add a route based onREQUEST_URI. uri-based routing ๐--route-qsโ add a route based onQUERY_STRING. query string in the driver's seat โ--route-remote-addrโ add a route based onREMOTE_ADDR. remote addr says this way ๐--route-user-agentโ add a route based onHTTP_USER_AGENT. user agent routing ๐ต๏ธ--route-remote-userโ add a route based onREMOTE_USER. remote user gets a route ๐ค--route-refererโ add a route based onHTTP_REFERER. referer-based routing, messy but valid โฉ๏ธ--route-labelโ add a routing label (for use withgoto). label it for thegotogirlies ๐ท๏ธ--route-ifโ add a route based on condition. if this, route that ๐ค--route-if-notโ add a route based on condition (negate version). if not, route anyway ๐--route-runโ always run the specified route action. no conditions, just run it ๐--final-routeโ add a final route. final route, last stop energy ๐--final-route-statusโ add a final route for the specified status. final route by status ๐--final-route-hostโ add a final route based onHostheader. final route by host ๐--final-route-uriโ add a final route based onREQUEST_URI. final route by uri ๐--final-route-qsโ add a final route based onQUERY_STRING. final route by query string ๐--final-route-remote-addrโ add a final route based onREMOTE_ADDR. final route by remote addr ๐--final-route-user-agentโ add a final route based onHTTP_USER_AGENT. final route by user agent ๐--final-route-remote-userโ add a final route based onREMOTE_USER. final route by remote user ๐--final-route-refererโ add a final route based onHTTP_REFERER. final route by referer ๐--final-route-labelโ add a final routing label (for use withgoto). final label forgoto๐ท๏ธ--final-route-ifโ add a final route based on condition. final if-route ๐ค--final-route-if-notโ add a final route based on condition (negate version). final not-if route ๐--final-route-runโ always run the specified final route action. final route action, always runs ๐--error-routeโ add an error route. error routing time ๐จ--error-route-statusโ add an error route for the specified status. error route by status ๐จ--error-route-hostโ add an error route based onHostheader. error route by host ๐จ--error-route-uriโ add an error route based onREQUEST_URI. error route by uri ๐จ--error-route-qsโ add an error route based onQUERY_STRING. error route by query string ๐จ--error-route-remote-addrโ add an error route based onREMOTE_ADDR. error route by remote addr ๐จ--error-route-user-agentโ add an error route based onHTTP_USER_AGENT. error route by user agent ๐จ--error-route-remote-userโ add an error route based onREMOTE_USER. error route by remote user ๐จ--error-route-refererโ add an error route based onHTTP_REFERER. error route by referer ๐จ--error-route-labelโ add an error routing label (for use withgoto). error label forgoto๐ท๏ธ--error-route-ifโ add an error route based on condition. error route if condition ๐ค--error-route-if-notโ add an error route based on condition (negate version). error route if not condition ๐--error-route-runโ always run the specified error route action. error route action, always runs ๐--response-routeโ add a response route. response routing era ๐ฌ--response-route-statusโ add a response route for the specified status. response route by status ๐ฌ--response-route-hostโ add a response route based onHostheader. response route by host ๐ฌ--response-route-uriโ add a response route based onREQUEST_URI. response route by uri ๐ฌ--response-route-qsโ add a response route based onQUERY_STRING. response route by query string ๐ฌ--response-route-remote-addrโ add a response route based onREMOTE_ADDR. response route by remote addr ๐ฌ--response-route-user-agentโ add a response route based onHTTP_USER_AGENT. response route by user agent ๐ฌ--response-route-remote-userโ add a response route based onREMOTE_USER. response route by remote user ๐ฌ--response-route-refererโ add a response route based onHTTP_REFERER. response route by referer ๐ฌ--response-route-labelโ add a response routing label (for use withgoto). response label forgoto๐ท๏ธ--response-route-ifโ add a response route based on condition. response route if condition ๐ค--response-route-if-notโ add a response route based on condition (negate version). response route if not condition ๐--response-route-runโ always run the specified response route action. response route action, always runs ๐--router-listโ list enabled routers. show me the routers ๐ก--routers-listโ list enabled routers. plural alias, same router roster ๐ก--error-page-403โ add an error page (html) for managed403response. 403 but make it html ๐ซ--error-page-404โ add an error page (html) for managed404response. 404 but make it html ๐--error-page-500โ add an error page (html) for managed500response. 500 but make it html ๐ฅ--websockets-ping-freqโ set the frequency (in seconds) of websockets automatic ping packets. ping frequency, keep the connection alive ๐--websocket-ping-freqโ set the frequency (in seconds) of websockets automatic ping packets. singular alias, same ping energy ๐--websockets-pong-toleranceโ set the tolerance (in seconds) of websockets ping/pong subsystem. pong tolerance, be patient ๐--websocket-pong-toleranceโ set the tolerance (in seconds) of websockets ping/pong subsystem. same tolerance, singular spelling ๐--websockets-max-sizeโ set the max allowed size of websocket messages (in Kbytes, default1024). max websocket message size, default1024Kbytes ๐ฆ--websocket-max-sizeโ set the max allowed size of websocket messages (in Kbytes, default1024). alias with the same size cap ๐ฆ--chunked-input-limitโ set the max size of a chunked input part (default1MB, in bytes). chunked input limit, default1MBin bytes ๐งฉ--chunked-input-timeoutโ set default timeout for chunked input. chunked input timeout, default style โณ--clockโ set a clock source. pick your clock source ๐ฐ๏ธ--clock-listโ list enabled clocks. list the clocks that made the cut ๐ฐ๏ธ--clocks-listโ lists every clock that's currently enabled โจ--add-headerโ automatically drops HTTP headers into your response, zero effort ๐--rem-headerโ automatically removes the HTTP header you name from the response--del-headerโ word for word the same job: automatically remove the specified HTTP header from the response--collect-headerโ tucks a chosen response header into a request var (syntax:header var) ๐--response-header-collectโ same deal, stores the specified response header in a request var (syntax:header var)--pull-headerโ stores that response header in a request var and rips it off the response entirely (syntax:header var) ๐ค
--check-staticโ go looking for static files inside the directory you point at ๐ฆ--check-static-docrootโ go looking for static files inside the requestedDOCUMENT_ROOT--static-checkโ again: check the specified directory for static files--static-mapโ maps a mountpoint onto a static directory (or a single file) ๐บ๏ธ--static-map2โ like--static-map, except it appends the requested resource onto the docroot in full--static-skip-extโ skip that extension when doing static file checks--static-indexโ if someone requests a directory, hunt for the file you name here--static-safeโ skips the security checks for a file sitting under the path you specify--static-cache-pathsโ dumps resolved paths into the uWSGI cache for however many seconds you say โณ--static-cache-paths-nameโ uses the cache you name for static paths--mimefileโ sets the mime types file path (default/etc/mime.types) ๐--mime-fileโ yep, also sets the mime types file path (default/etc/mime.types)--static-expires-typeโ builds theExpiresheader off the content type--static-expires-type-mtimeโ builds theExpiresheader off the content type and the file mtime--static-expiresโ builds theExpiresheader off a filename regexp--static-expires-mtimeโ builds theExpiresheader off a filename regexp and the file mtime--static-expires-uriโ builds theExpiresheader off aREQUEST_URIregexp--static-expires-uri-mtimeโ builds theExpiresheader off aREQUEST_URIregexp and the file mtime--static-expires-path-infoโ builds theExpiresheader off aPATH_INFOregexp--static-expires-path-info-mtimeโ builds theExpiresheader off aPATH_INFOregexp and the file mtime--static-gzipโ if your regexp matches the static file translation, it'll go hunting for a gzip version ๐๏ธ--static-gzip-allโ checks for a gzip version of every requested static file, no filter--static-gzip-dirโ checks for a gzip version of all requested static files under the dir/prefix you give--static-gzip-prefixโ same thing, checks for a gzip version of all requested static files using the dir/prefix you give--static-gzip-extโ checks for a gzip version of all requested static files with the ext/suffix you give--static-gzip-suffixโ again, checks for a gzip version of all requested static files with that ext/suffix--honour-rangeโ turns on support for the HTTPRangeheader--offload-threadsโ how many offload threads to spawn (per-worker, default 0) ๐งต--offload-threadโ the exact same knob: number of offload threads to spawn (per-worker, default 0)--file-serve-modeโ sets the static file serving mode--fileserve-modeโ yes bestie, sets the static file serving mode--disable-sendfileโ killssendfile()and makes it lean on boringread()/write()instead ๐--check-cacheโ checks for response data in the cache you name (leave it empty for the default cache)--close-on-execโ sets close-on-exec on connection sockets (could be required for spawning processes in requests)--close-on-exec2โ sets close-on-exec on server sockets (could be required for spawning processes in requests)
--modeโ set uWSGI custom mode--envโ set environment variable ๐--envdirโ loads a daemontools compatible envdir--early-envdirโ loads a daemontools compatible envdir ASAP--unenvโ unset environment variable ๐--vacuumโ does its best to remove every generated file/socket when it's done--file-writeโ writes the content you give to the file you give (syntax:file=value) before the privileges drop--cgroupโ puts the processes into the cgroup you name--cgroup-optโ sets a value in the cgroup option you specify--cgroup-dir-modeโ sets permission for the cgroup directory (default is700)--namespaceโ runs inside a brand new namespace under the rootfs you specify ๐--namespace-keep-mountโ keeps the mountpoint you name inside your namespace--nsโ runs in a new namespace under the specified rootfs--namespace-netโ adds a network namespace--ns-netโ also adds a network namespace--enable-proxy-protocolโ turns onPROXY1protocol support (only for http parsers)--reuse-portโ enables theREUSE_PORTflag on the socket (BSD only) โญ--tcp-fast-openโ enables theTCP_FASTOPENflag on TCP sockets with the qlen value you give--tcp-fastopenโ same flag,TCP_FASTOPENon TCP sockets, with your qlen value--tcp-fast-open-clientโ usessendto(..., MSG_FASTOPEN, ...)instead ofconnect()if it's supported โก--tcp-fastopen-clientโ again,sendto(..., MSG_FASTOPEN, ...)instead ofconnect()where supported--zergโ attach to a zerg server ๐--zerg-fallbackโ falls back to normal sockets if that zerg server isn't around--zerg-serverโ enables the zerg server on the UNIX socket you specify
--cronโ add a cron task โฐ--cron2โ add a cron task (key=val syntax)--unique-cronโ add a unique cron task--cron-harakiriโ the max time, in seconds, we'll wait for a cron command to finish before... yeah ๐ญ--legion-cronโ add a cron task that only runs when this instance is a lord of the legion you name--cron-legionโ add a cron task runnable only when the instance is a lord of the specified legion--unique-legion-cronโ add a unique cron task runnable only when the instance is a lord of the specified legion--unique-cron-legionโ add a unique cron task runnable only when the instance is a lord of the specified legion--loopโ select the uWSGI loop engine ๐--loop-listโ lists the enabled loop engines--loops-listโ lists the enabled loop engines (plural, same energy)--worker-execโ run the command you give as a worker--worker-exec2โ run the specified command as a worker (after thepost_forkhook)--attach-daemonโ attaches a command/daemon to the master process (the command has to not go into background) ๐ซถ--attach-control-daemonโ attaches a command/daemon to the master process (the command has to not go in background), and when the daemon dies, the master dies too ๐--smart-attach-daemonโ attaches a command/daemon to the master process, managed by a pidfile (the command has to daemonize)--smart-attach-daemon2โ attaches a command/daemon to the master process managed by a pidfile (the command has to NOT daemonize)--legion-attach-daemonโ same as--attach-daemon, except the daemon only runs on the legion lord node--legion-smart-attach-daemonโ same as--smart-attach-daemon, except the daemon only runs on the legion lord node--legion-smart-attach-daemon2โ same as--smart-attach-daemon2, except the daemon only runs on the legion lord node--daemons-honour-stdinโ stops uWSGI swapping the stdin of external daemons over to/dev/null--attach-daemon2โ the attach-daemon keyval variant (smart modes included too) ๐
--pluginsโ load uWSGI plugins ๐--pluginโ load uWSGI plugins--need-pluginsโ load uWSGI plugins, and exit if it errors out--need-pluginโ load uWSGI plugins (exit on error), same vibe--plugins-dirโ add a directory to the uWSGI plugin search path--plugin-dirโ add a directory to the uWSGI plugin search path--plugins-listโ lists the enabled plugins--plugin-listโ lists the enabled plugins--autoloadโ tries to automatically load plugins when it runs into unknown options--dlopenโ blindly loads a shared library ๐--allowed-modifiersโ a comma separated list of allowed modifiers--remap-modifierโ remaps a request modifier from one id to another--dump-optionsโ dumps the full list of every available option ๐--show-configโ shows the current config, reformatted as ini--binary-append-dataโ prints the content of a resource to stdout so you can append it to a uwsgi binary (fordata://usage)--printโ simple print--iprintโ simple print, but the immediate version โก--exitโ forceexit()of the instance--cflagsโ reports uWSGICFLAGS(useful for building external plugins) ๐ง--dot-hโ dumps theuwsgi.hused for building the core (useful for building external plugins)--config-pyโ dumps theuwsgiconfig.pyused for building the core (useful for building external plugins)--build-pluginโ builds a uWSGI plugin for the current binary--versionโ prints the uWSGI version ๐--response-headers-limitโ sets the max size of a response header (default:64k)
And that's a wrap on this whole thing, bestie โ every last option, delivered ๐ This page is uwsgi_curl_cron 2.0.31-debian, dated July 2026, and it lives in section UWSGI_CURL_CRON(1). Go serve some static files, no cap ๐ฆโจ
๐ฆ where this page comes from
- ubuntu stonking: uwsgi-plugin-curl-cron 2.0.31-6build1 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms