Commit Graph

306 Commits

Author SHA1 Message Date
Tobias Diekershoff 1bf089e424 Merge pull request #3216 from annando/1701-performance
Better network handling, improved structure
2017-03-12 15:40:56 +01:00
Michael 0afb0c2ea4 NULL_DATE is now a constant 2017-02-27 23:37:15 +00:00
Michael 99fb15037b Removed some more unneeded stuff 2017-02-27 06:27:22 +00:00
Michael 48209f0ecd Now there is only the worker. 2017-02-26 23:16:49 +00:00
Michael da8a48f89e Bugfix: the curl option CURLOPT_SSL_VERIFYHOST is problematic 2017-02-25 13:59:24 +00:00
Michael 2424cb78d1 Only process feed and dfrn items when they aren't already stored 2017-01-31 19:39:09 +00:00
Michael 64d06b98b2 Added documentation 2017-01-27 15:13:37 +00:00
Michael 69f1deb166 Some added logging 2017-01-21 20:15:49 +00:00
Michael dc439c6e50 Bugfix for masses of php warnings 2017-01-21 19:50:56 +00:00
Michael c74b7565a9 Rearranged the logging 2017-01-21 06:16:15 +00:00
Michael 45d6f6c0a3 Some changed logging 2017-01-21 06:06:29 +00:00
Michael 72884d75d5 Added callstack 2017-01-21 05:05:41 +00:00
Michael 8939a25502 Better number format 2017-01-20 22:05:50 +00:00
Michael 9d77e91f5f Some more logging 2017-01-20 21:58:53 +00:00
Michael 1360a0a003 The worker now tells the process runtime length. 2017-01-19 17:06:23 +00:00
Roland Haeder 7c342600c3
used more App::get_baseurl() instead of get_app()->get_baseurl().
Signed-off-by: Roland Haeder <roland@mxchange.org>
2016-12-20 21:51:25 +01:00
Roland Häder a96eb3428d Used more dbm::is_result() instead of (!$r) or (!count($r)), still there are
more pending ...

Also put SQL table columns into back-ticks.

Signed-off-by: Roland Häder <roland@mxchange.org>
2016-12-19 14:46:33 +01:00
Roland Häder 293436e5fd Some rewrites:
- max_proccesses_reach() and maxload_reached() (why no _ behind max?) are called
  both way, static and with object reference.
- this is strongly discouraged and should be avoided as its support (in PHP) may
  be dropped in future releases.
- used $a = get_app(); to encapsulate code (even when the function does
  currently the same, it may be changed later)

Signed-off-by: Roland Häder <roland@mxchange.org>
2016-12-13 10:16:36 +01:00
Michael 6845775ff9 Store spooled data 2016-12-01 20:53:18 +00:00
Michael 57c95c93e1 The frontend worker is now working as a full replacement for the crontab. 2016-11-30 19:24:58 +00:00
Michael cc5eebd173 The frontend worker can now fork background processes 2016-11-29 22:40:19 +00:00
Michael 636a033364 Added documentation, config stuff, ... 2016-11-27 09:02:08 +00:00
Michael d71321c834 Some added documentation 2016-11-27 01:11:22 +00:00
Michael e856ab9a09 The worker can now run from the frontend as well 2016-11-27 00:55:05 +00:00
Michael Vogel 47b8975bb6 poller.php is now working with transactions as well. 2016-10-23 23:31:56 +00:00
Michael Vogel 3e5cf5290e Improved queries, more uncommitted queries 2016-10-17 18:38:51 +00:00
Michael Vogel a47ae788ba Improved logging 2016-10-11 06:30:53 +00:00
Michael Vogel ef6a23caf3 Worker: Reserve some space for low priority processes 2016-10-10 21:01:36 +00:00
Michael Vogel 6abac720e2 Small performance tweaks for "item_store" as well. 2016-10-07 06:05:43 +00:00
Michael Vogel 6d16c39b7e dbstructure now switches in the maintenance mode when updating 2016-10-02 13:52:52 +00:00
Michael Vogel 1caa87dce6 Restructured the way, processes are inserted and removed 2016-09-09 20:55:49 +00:00
Michael Vogel 22f32d9721 New process table for a better detection of running workers 2016-09-09 20:33:54 +00:00
Michael Vogel 108a1c4ac6 New priority level for stale processes. 2016-08-18 12:33:17 +02:00
Michael Vogel 67b16507f1 Performance improvements for the poller 2016-08-14 21:02:29 +02:00
Michael Vogel d138b11868 Use a 10 minute timeout for high priority processes. This may be better. 2016-08-08 21:28:44 +02:00
Michael Vogel 29168de677 Process timeouts are now priority depending 2016-08-08 19:20:40 +02:00
Michael Vogel 0411eb289e Lower the priority for stale processes 2016-08-04 15:41:32 +02:00
Michael Vogel 074ae59f49 Reschedule killed processes at the beginning of the queue. 2016-08-04 15:33:15 +02:00
Michael Vogel 7157ca3809 Fastlane is now working with any priority level 2016-08-03 15:59:25 +02:00
Michael Vogel ff430640c0 Small variable type fixed, removed unused includes 2016-08-03 10:19:46 +02:00
Michael Vogel d673f44c5b Split cron jobs in cronjobs, introduce fastlane for high priority tasks 2016-08-03 10:03:05 +02:00
Michael Vogel b9dbb0ace1 Split cronhook call to several single calls 2016-08-02 06:28:34 +02:00
Michael Vogel 668da905e2 "proc_run" is now called with priority. 2016-08-01 07:48:43 +02:00
Michael Vogel 5e81c105e0 We now work with the "priority" field - that's better 2016-07-24 20:25:11 +02:00
Michael Vogel 4be7e5a581 "Fast lane" mechanism to reserve one queue for priority processes 2016-07-24 11:22:44 +02:00
Michael Vogel 7580c8ed11 Processing of high priority processes 2016-07-23 22:57:22 +02:00
Michael Vogel fb447e84ee Some more information about the current queue status of the worker 2016-07-22 18:07:04 +02:00
Michael Vogel 4b29937a74 Worker: New value for cooldown time after each function call 2016-07-13 19:43:16 +02:00
Tobias Diekershoff 598a9f76a6 Merge pull request #2658 from annando/1607-maxload
Central Backend/Frontend detection when checking for overload
2016-07-02 21:52:48 +02:00
Michael Vogel e4c6cfd2d8 Moves the function "is_result" from dba to dbm. 2016-07-02 14:00:42 +02:00
Michael Vogel 7d531afd00 Merge branch 'rewrites/is_filled_array_introduced' of git://github.com/Quix0r/friendica into Quix0r-rewrites/is_filled_array_introduced
Conflicts:
	boot.php
2016-07-02 13:38:23 +02:00
Michael Vogel c549ae939c Added the new function to the poller. 2016-07-02 09:31:28 +02:00
Michael Vogel 0518f004c2 removed duplicated functions 2016-06-04 12:20:09 +02:00
Michael Vogel b45772ba6e Configurable amount of maximum processes 2016-06-04 11:04:26 +02:00
Michael Vogel df337e57d1 Quit when processlist is too long 2016-06-03 23:10:23 +02:00
Michael Vogel 85a9c7d96e The poller now has the logging for processes as well. 2016-06-01 21:54:02 +02:00
Michael Vogel 76b24f61a9 New (experimental) value to define the maximum level of database connections for the worker 2016-04-23 10:11:09 +02:00
Roland Haeder 9cfc249b12
Moved is_filled_array() to both dba classes and named it is_result().
Please see ticket #2390 for full discussion.

Signed-off-by: Roland Haeder <roland@mxchange.org>
2016-03-12 18:54:55 +01:00
Roland Haeder c60605ce0c
Merge branch 'develop' of github.com:friendica/friendica into rhaeder-develop 2016-03-12 18:50:14 +01:00
Michael Vogel beb2346cfc The function to check for maxload and the lockfile is centralized 2016-03-08 20:28:09 +01:00
Roland Haeder d88606321d
Just easier code ...
Signed-off-by: Roland Haeder <roland@mxchange.org>
2016-03-04 22:39:08 +01:00
Roland Haeder d5c1ce490b
No processing if error or empty array
Signed-off-by: Roland Haeder <roland@mxchange.org>
2016-03-04 22:38:18 +01:00
Michael Vogel acb09d3a3d Database connections: When we now check for user values we check the system values as well 2016-02-12 11:04:25 +01:00
Michael Vogel 5027fbf733 Poller: Now the user limits can be detected automatically as well 2016-02-11 21:39:34 +01:00
Michael Vogel 4af77b60ce Poller: Use the processlist when the number of maximum database connections was provided manually 2016-02-11 11:33:45 +01:00
Michael Vogel 211be5bfc5 Poller: The maximum number of connections can now be configured 2016-02-09 23:28:33 +01:00
Michael Vogel 7af3dd01d8 Poller: Check the number of used database connections 2016-02-09 06:42:00 +01:00
Michael Vogel 275f7b2660 The worker now kills processes that run longer than 3 hours 2016-01-24 02:53:21 +01:00
rabuzarus 3df5c17124 reformat todo according to doxygen style 2015-12-25 23:17:34 +01:00
Michael Vogel 33f354a68c Bugfix for the maximum load check in worker. 2015-12-16 00:14:53 +01:00
Michael Vogel 6e03477598 Sometimes the function "sys_getloadavg" doesn't return an array. This is a workaround. 2015-12-15 23:26:58 +01:00
Michael Vogel fbbba6828b Some better logging 2015-12-06 20:04:33 +01:00
Michael Vogel 9f8da37c99 Move the process check at the beginning of the script 2015-12-06 16:40:31 +01:00
Michael Vogel 54085508e5 Double check for maximum number of workers 2015-12-06 16:28:28 +01:00
Michael Vogel c3ee255b0c Reduction of double executions - hopefully 2015-09-29 06:15:26 +02:00
Michael Vogel ed8cdc7d85 Logging message added 2015-09-28 22:32:56 +02:00
Michael Vogel f0cf9ce519 Prevent double execution 2015-09-28 21:58:58 +02:00
Michael Vogel eb75d9532b Magical mathematics to reduce the number of workers 2015-09-28 19:14:07 +02:00
Michael Vogel 9767801be4 Load depending number of worker queues. 2015-09-28 07:54:28 +02:00
Michael Vogel ae21c40f21 Load depending number of workers 2015-09-27 13:56:20 +02:00
Michael Vogel 173d1390df Mute warnings in pidfile/Quit poller after an hour. 2015-09-25 17:38:56 +02:00
Michael Vogel f8e4a71eda Do a load check during execution of the queue. 2015-09-23 08:56:48 +02:00
Michael Vogel 3ace2136f0 Checking includes for valid paths 2015-09-13 18:47:10 +02:00
Michael Vogel 12659fc3a1 Let the cronhook be called different from the cron job. 2015-09-12 20:22:58 +02:00
Michael Vogel 7edce8e266 Don't use a delivery interval when using the worker 2015-09-12 18:08:03 +02:00
Michael Vogel 0a2c161230 Fork as many processes as possible from the start on. 2015-09-12 17:51:27 +02:00
Michael Vogel 32e8f3468d Moved some functionality back to the cron. Speed up things 2015-09-11 21:35:58 +02:00
Michael Vogel ff739b0a23 Just changed some script names 2015-09-10 23:32:56 +02:00
Michael Vogel d3a6ebfe7e The worker is now working 2015-09-10 23:10:31 +02:00
Michael Vogel b0ddde22c0 By entering a GNU Social account name, the friends of this contact will be added to the friendica account 2015-08-23 22:21:15 +02:00
Michael Vogel 820ded2c2d Support for the new nodeinfo protocol that will replace statistics.json 2015-08-10 21:33:57 +02:00
Michael Vogel 166519fc4d Move the contact discovery into the background 2015-07-26 14:41:34 +02:00
Michael Vogel cf3214c904 Query other servers periodically for their known contacts 2015-07-18 22:26:06 +02:00
Michael Vogel bffe35ab71 There is now two different checks for the completion of conversations 2015-06-29 21:53:59 +02:00
Michael Vogel ae172a9cec If the load is too high, now not only the poller but also the page delivery will stop. 2015-03-15 07:45:50 +01:00
Michael Vogel dfdb804323 Beautified the poller logging 2015-02-19 22:38:02 +01:00
Michael Vogel ab5bf06873 Restructured and simplified the poller check 2015-02-19 22:30:16 +01:00
Michael Vogel 68c9707221 The poller now always respects the priority setting for feeds. 2015-02-19 22:04:05 +01:00
Michael Vogel 4c901e60cc More logging for the poller. Changed the query for the contacts to reduce the amount of contacts 2015-02-19 21:36:29 +01:00
Michael Vogel 6d8c126179 Do the directory change only when it is needed. 2015-02-19 10:45:46 +01:00