Loading supervisor state programs




















In Supervisor versions prior to 4. In Supervisor 4. The signal used to kill the program when a stop is requested. If true, the flag causes supervisor to send the stop signal to the whole process group and implies killasgroup is true. This is useful for programs, such as Flask in debug mode, that do not propagate stop signals to their children, leaving them orphaned.

If true, when resorting to send SIGKILL to the program to terminate it send it to its whole process group instead, taking care of its children as well, useful e. Instruct supervisord to use this UNIX user account as the account which runs the program.

The user can only be switched if supervisord is run as the root user. The user will be changed using setuid only. See Subprocess Environment for details. Eventlisteners use stdout and stdin to communicate with supervisord. If stderr is redirected, output from stderr will interfere with the eventlistener protocol. Introduced : 3. If this is set to NONE , supervisord will create no log file.

AUTO log files and their backups will be deleted when supervisord restarts. This will result in the file being corrupted. If this value is 0, process capture mode will be off. The events will only be emitted if the file descriptor is not in capture mode at the time the data is received see Capture Mode. The number of backups to keep around resulting from process stderr log file rotation. If provided, it should have the same syntax and structure as the [supervisorctl] section option of the same name.

If this is set to AUTO, or is unset, supervisor will automatically construct a server URL, giving preference to a server that listens on UNIX domain sockets over one that listens on an internet socket.

The values in this key specify other configuration files to be included within the configuration. The [include] section is processed only by supervisord. It is ignored by supervisorctl. A space-separated sequence of file globs. Each file glob may be absolute or relative. If the file glob is relative, it is considered relative to the location of the configuration file which includes it. Recursive includes from included files are not supported.

To place programs into a group so you can treat them as a unit, define a [group:x] section in your configuration file. The group header value is a composite. It is an error to create a group section that does not have a name. For a [group:x] , there must be one or more [program:x] sections elsewhere in your configuration file, and the group must refer to them by name in the programs value.

Instead, all processes belonging to each of the homogeneous groups will be placed into the heterogeneous group. For example, given the following group configuration:. Given the above, at supervisord startup, the bar and baz homogeneous groups will not exist, and the processes that would have been under them will now be moved into the foo group.

A comma-separated list of program names. The programs which are listed become members of the group. A priority number analogous to a [program:x] priority value assigned to the group.

Supervisor can manage groups of FastCGI processes that all listen on the same socket. Until now, deployment flexibility for FastCGI was limited. These can be used in conjunction with a process manager such as supervisord or daemontools but require each FastCGI child process to bind to its own socket. The disadvantages of this are: unnecessarily complicated web server configuration, ungraceful restarts, and reduced fault tolerance.

With fewer sockets to configure, web server configurations are much smaller if groups of FastCGI processes can share sockets. Shared sockets allow for graceful restarts because the socket remains bound by the parent process while any of the child processes are being restarted. Finally, shared sockets are more fault tolerant because if a given process fails, other processes can continue to serve inbound connections.

You get full-featured process management with groups of FastCGI processes sharing sockets without being tied to a particular web server. Other protocols may be used as well with no special configuration. Any program that can access an open socket from a file descriptor e. Supervisor will automatically create the socket, bind, and listen before forking the first child in a group.

The socket will be passed to each child on file descriptor number 0 zero. When the last child in the group exits, Supervisor will close the socket. Prior to Supervisor 3. All the options available to [program:x] sections are also respected by fcgi-program sections. Consult [program:x] Section Settings for other allowable keys, delta the above constraints and additions. See Events for an explanation of how events work and how to implement programs that can be declared as event listeners.

Eventlisteners cannot emit process communication events on stdout , but can emit on stderr see Capture Mode. Adding rpcinterface:x settings in the configuration file is only useful for people who wish to extend supervisor with additional custom behavior.

In the sample config file see Creating a Configuration File , there is a section which is named [rpcinterface:supervisor]. By default it looks like the following. The [rpcinterface:supervisor] section must remain in the configuration for the standard setup of supervisor to work properly. Supervisor 4. Docs » Configuration File View page source. Note In Supervisor 3. Default : None. Required : No. Default : Required : No. Default : Use the username and group of the user who starts supervisord.

The goal of this course is to assist WSU in maintaining a safe and respectful working and learning environment. It describes different types of discrimination and harassment, including prohibited personal behaviors, identifies key WSU Executive Policies addressing these topics, and provides links to specific offices and resources available to help in cases of alleged discrimination and harassment. Employee and supervisor responsibilities when misconduct is reported or observed are highlighted.

Online Learning. Emotional Intelligence. What is it? Why does it matter to me? Emotional Intelligence EI is a concept that relates to how we manage ourselves and how we relate to others. This session is designed to provide an overview of the components of EI, as well as to facilitate discussion on how we use it in our own management and leadership roles. Areas of application include corrective and disciplinary actions, effective communication and team development.

This class addresses equal employment opportunity, workplace discrimination, and sexual harassment. Specifically it describes the role of the Washington State University supervisor in regard to minimizing institutional liability in these areas.

It explains who is covered under FLSA, outlines the Washington Administrative Code overtime standards, reviews meal and rest period requirements, provides guidance for hours worked during travel, highlights potential penalties for non-compliance, and demonstrates an overall overtime management approach for supervisors.

This online course addresses the statutory provisions for collective bargaining, current Washington State laws and regulations associated with collective bargaining and civil service reform, the labor relations structure at WSU, bargaining unit employee rights, the role of stewards, and the grievance procedure.

This course examines the first two building blocks of Washington State University performance management: job descriptions and job expectations. The steps in writing a current and accurate job description including qualifications and the identification of mental and physical requirements are provide. Additional topics include the concept and requirements of a well written job expectation and how to group job expectations for use in performance evaluations.

This online course provides an overview of the multiple roles and legal responsibilities of the supervisor. This online course is designed to give hiring managers a practical understanding of the recruitment process for Civil Service and Administrative Professional positions.

It describes the legal framework for recruitment, the individual recruitment phases, and best practice tips to consider during the overall process. This overview of the Ethics in Public Service requirements addresses such questions as: To whom do the ethics requirements apply?

Who is responsible for interpreting ethics laws and adopting ethics regulations? Errors caused by bad values in a config file now show the config section to make debugging easier. Patch by Marc Abramowitz. Fixed a bug where spawning a process could cause supervisord to crash if an IOError occurred while setting up logging.

One way this could happen is if a log filename was accidentally set to a directory instead of a file. Thanks to Grzegorz Nosek for reporting this issue. Thanks to Steve Winton and detailyang for reporting issues that led to this change.

Fixed DeprecationWarning: Parameters to load are deprecated. In previous versions, an empty stderr log file would be created. Fixed an issue in Medusa that would cause supervisorctl tail -f to disconnect if many other supervisorctl commands were run in parallel. Patch by Stefan Friesel. Fixed a bug where the web interface would show a Internal Server Error instead of an error message for some process start faults. Removed medusa files not used by Supervisor. Prevent a crash when a greater number of file descriptors were attempted to be opened than permitted by the environment when starting a bunch of programs.

Now, instead a spawn error is logged. Suggested by Chris Wood. The process column in the table output by the status command in supervisorctl now expands to fit the widest name. The update command in supervisorctl now accepts optional group names. When group names are specified, only those groups will be updated.

Patch by Gary M. Tab completion in supervisorctl has been improved and now works for more cases. Thanks to Mathieu Longtin and Marc Abramowitz for the patches. Previously, it would show a Python exception. Patch by George Ang. Patch by Brent Tubbs. Stopping a process in the backoff state now changes it to the stopped state. Previously, an attempt to stop a process in backoff would be ignored. Patch by Pascal Varet. The directory option is now expanded separately for each process in a homogeneous process group.

This allows each process to have its own working directory. Patch by Perttu Ranta-aho. Removed setuptools from the requires list in setup. Fixed a hang that could occur in supervisord if log rotation is used and an outside program deletes an active log file. Patch by Magnus Lycka. A warning is now logged if a glob pattern in an [include] section does not match any files. Fixed a bug where the tail -f command in supervisorctl would fail if the combined length of the username and password was over 56 characters.

Patch by Jens Rantil. Patch by Zev Benjamin. Fixed the usage message output by supervisorctl to show the correct default config file path. Patch by Alek Storm. In all previous versions, if supervisord failed to switch to the user, a warning would be sent to the stderr log but the child process would still be spawned.

This means that a mistake in the config file could result in a child process being unintentionally spawned as root. Now, supervisord will not spawn the child unless it was able to successfully switch to the user. Thanks to Igor Partola for reporting this issue. If a user specified in the config file does not exist on the system, supervisord will now print an error and refuse to start.

Reverted a change to logging introduced in 3. The implementation caused supervisord to crash during reload and to leak file handles. Also, since log rotation options are given on a per-program basis, impossible configurations could be created conflicting rotation options for the same file.

Given this and that supervisord now has syslog support, it was decided to remove this feature. A warning was added to the documentation that two processes may not log to the same file. Patch by Scott Wilson. It is now possible to use supervisorctl on a machine with no supervisord. Fixed a bug where supervisord would crash if the syslog handler was used and supervisord received SIGUSR2 log reopen request. Added a favicon to the web interface. Patch by Caio Ariede. Fixed a test failure due to incorrect handling of daylight savings time in the childutils tests.

Patch by Ildar Hizbulin. Fixed a number of pyflakes warnings for unused variables, imports, and dead code. Patch by Philippe Ombredanne. Patch by Martijn Pieters. Fixed a bug in the HTTP server code that could cause unnecessary delays when sending large responses. Patch by Philip Zeyliger. When supervisord starts up as root, if the -c flag was not provided, a warning is now emitted to the console.

Rationale: supervisord looks in the current working directory for a supervisord. A warning was added to the documentation about the security implications of starting supervisord without the -c flag.

Add a boolean program option stopasgroup , defaulting to false. When true, the flag causes supervisor to send the stop signal to the whole process group. This is useful for programs, such as Flask in debug mode, that do not propagate stop signals to their children, leaving them orphaned. Python 2. The last version that supported Python 2. Fixed a bug in the rotating log handler that would cause unexpected results when two processes were set to log to the same file.

Patch by Whit Morriss. Fixed a bug in config file reloading where each reload could leak memory because a list of warning messages would be appended but never cleared. Added a new Syslog log handler. Thanks to Denis Bilenko, Nathan L. Smith, and Jason R. Coombs, who each contributed to the patch. Contributed by Jens Rantil. The pid command in supervisorctl can now be used to retrieve the PIDs of child processes.

See help pid. Patch by Gregory Wisniewski. Patch by Joseph Kondel. Fixed a bug in the web interface where pages over 64K would be truncated. Thanks to Drew Perttula and Timothy Jones for reporting this. Thanks to Johannes Becker for reporting this. Fixed supervisorctl --help output to show the correct program name.

The behavior of the configuration options minfds and minprocs has changed. Previously, if a hard limit was less than minfds or minprocs , supervisord would unconditionally abort with an error. Now, supervisord will attempt to raise the hard limit. This may succeed if supervisord is run as root, otherwise the error is printed as before. Patch by Benoit Sigoure. Patch by Samuele Pedroni.

Environment variables may now be used in the configuration file for options that support string expansion. Patch by Aleksey Sivokon. Fixed a race condition where supervisord might not act on a signal sent to it. Thanks to Adar Dembo for reporting the issue and supplying the initial patch. Thanks to Jens Rantil for noticing these. Fixed a possible Server Error from the web interface. Patch by David Bennett. Thanks to Derek DeVries for the patch. Allow rpc interface plugins to register new events types.

Bug fix for FCGI sockets not getting cleaned up when the reload command is issued from supervisorctl. Also, the default behavior has changed for FCGI sockets. They are now closed whenever the number of running processes in a group hits zero. Previously, the sockets were kept open unless a group-level stop command was issued. Previous behavior: show a socket error.

Current behavior: spit out a suggestion to stdout. Thanks to Wyatt Baldwin for a patch. Fix bug where stopping process would cause process output that happened after the stop request was issued to be lost. Moved 2. Added a tox. Tests supervisor on multiple Python versions. Roger Hoover Import iterparse from xml. Patch by Sidnei da Silva.

Fixed the url to the supervisor-users mailing list. Got rid of Medusa hashbang headers in various files to ease RPM packaging. Allow umask to be patch contributed by Rowan Nairn. It now properly asks for a username and password.

Patch by Daniele Paolella. Removed the test suite for the memmon console script, which was moved to the Superlance package in 3. Reloading the config for an fcgi process group did not close the fcgi socket - now, the socket is closed whenever the group is stopped as a unit including during config update.

However, if you stop all the processes in a group individually, the socket will remain open to allow for graceful restarts of FCGI daemons. Roger Hoover Rereading the config did not pick up changes to the socket parameter in a fcgi-program section.

See the manual for details. Roger Hoover Fixed a Python 2. Thanks to Benjamin Smith for reporting this. Removed use of collections. Thanks to William Dode for noticing it showed the wrong value. We catch the exception now and ignore the missing file.

Multiple commands may now be issued on one supervisorctl command line, e. Separate commands with a single semicolon; they will be executed in order as you would expect. It was not used. The pidproxy script was made into a console script. Mike Naberezny Create scripts directory within supervisor package, move pidproxy. Improve process communication event performance. When you exit supervisor, it will print Python profiling output to stdout.

The identifier command-line argument was not functional. Some child processes may not have been shut down properly at supervisor shutdown time. Thanks to Drew Perttula. Fixed a bug where process communication events would not have the proper payload if the payload data was very short. Thanks to Calvin Hendryx-Parker. The default is now unexpected it was previously true.

The readdition of this feature is a reversion of the behavior change note in the changelog notes for 3. Using the web interface would cause fairly dramatic memory leakage. We now require a version of meld3 that does not appear to leak memory from its C extensions 0. Thanks to Christoph Zwerschke.



0コメント

  • 1000 / 1000