Commit graph

163 commits

Author SHA1 Message Date
Hypolite Petovan 4375edd63e
Merge pull request #6719 from annando/worker-scheduler
New scheduler mechanism - now to the correct branch
2019-02-21 16:12:19 -05:00
Michael 7810227040 Reverted test stuff 2019-02-21 19:34:12 +00:00
Michael 3450f12cba Changed log calls 2019-02-21 19:32:31 +00:00
Philipp Holzer f536107911
Fixing value check for configuration 2019-02-18 11:29:51 +01:00
Philipp Holzer 86aaa6565e
Fixing saveLog() 2019-02-18 11:29:51 +01:00
Philipp Holzer a3d6062476
check if value is set
get basepath with config instead cache
2019-02-18 11:29:42 +01:00
Michael a1a1367d6e Added function description 2019-02-17 19:20:24 +00:00
Michael 061d959e7f Code cleanup 2019-02-17 18:55:17 +00:00
Michael 01d6ba85ff The number of workers per priority is now calculated dynamically 2019-02-17 03:22:29 +00:00
Philipp Holzer 5e6e1a8025
Introducing Profiler 2019-02-16 23:11:30 +01:00
Michael 0845089a0f New scheduler mechanism 2019-02-16 15:03:37 +00:00
Michael ca529d9de7 The process id is currently not supported. 2019-02-14 13:30:41 +00:00
Michael e20a675953 The setting "worker_fetch_limit" now only has an impact on high priority processes 2019-02-14 06:53:04 +00:00
Michael f6e8246e75 Ensure that "strtotime" returns the correct timestamp 2019-02-12 06:42:45 +00:00
Michael 742b472994 Fix: Workerqueue processes had been killed too early 2019-02-11 22:39:59 +00:00
Michael f65b35901e Fix worker statistics 2019-02-11 08:59:14 +00:00
Michael 5fc6c0ef38 Fix: Corected config value name 2019-02-11 04:39:24 +00:00
Michael 171cfe8f44 Furtner improval of the worker speed 2019-02-09 23:10:15 +00:00
Michael 5e5a2c3cc1 Improved worker performance (changed keys, changed queries) 2019-02-08 21:48:41 +00:00
Michael b0411b46c4 Separate config options to display the worker jobs per minute 2019-02-06 07:37:45 +00:00
Hypolite Petovan 3282ce5389 Fix PHPDoc comments project-wide 2019-01-21 10:35:51 -05:00
Hypolite Petovan 55e54bb950 Replace deprecated Addon::callHooks with Hook::callAll
- Update documentation
2019-01-21 09:50:56 -05:00
Hypolite Petovan 5e1ceb57de Escape global namespaced get_app() calls
- Add deprecated status
2019-01-03 21:27:36 -05:00
Hypolite Petovan acaee626f5 Remove include/ requires that are now done directly from Composer 2018-12-24 09:56:25 -05:00
Michael e759497af3 Fix small typo / Workerqueue count now only counts non deferred entries 2018-11-04 10:51:01 +00:00
Adam Magness 50da89d861 Logger Levels
update logger levels in calls
2018-10-30 09:58:45 -04:00
Adam Magness 14fde5dc9b Log function
implement log() function.
2018-10-30 09:57:14 -04:00
Michael 95dc030926 Show deferred worker tasks in the admin interface and workerqueue logs 2018-10-23 20:38:28 +00:00
Tobias Diekershoff dbe49a0c1a
Merge pull request #5998 from annando/ap-queue
Unsuccessful ActivitiyPub transmission are now deferred
2018-10-23 06:54:11 +02:00
Michael e3e714a45f Unsuccessful ActivitiyPub transmission are now deferred 2018-10-23 03:54:18 +00:00
Hypolite Petovan e511790d62 Move NULL_DATE from boot.php to DBA::NULL_DATETIME
- Add DBA::NULL_DATE constant
2018-10-22 16:50:55 -04:00
Michael e2762e032c Poddibility to defer worker execution 2018-10-15 05:19:35 +00:00
Philipp Holzer 2c541afd47
Moved functions out of boot.php into class
- z_root() => $a->getBaseURL()
- absurl() => removed because no usage
- is_ajax() => $a->isAjax()
- current_load() => System::currentLoad()
- argc() => $a->argc
- argv($x) => $a->getArgumentValue($x)
2018-10-13 19:03:08 +02:00
Philipp Holzer 5a02e39a65
Rename App Methods
- renamed a lot of App methods to CamelCase
- replaced direct public variables with get-/set-Methods
2018-10-10 00:16:06 +02:00
Philipp Holzer bd2b3b1ef5
LockDriverFixings
- release Locks in case of failures
- adding some cache tests
2018-09-06 08:11:18 +02:00
Michael 432eec770b Issue 5467: Cron jobs hadn't been executed 2018-07-24 06:15:58 +00:00
Hypolite Petovan ecea7425f8 Rename DBA::is_result to DBA::isResult 2018-07-23 11:04:14 -04:00
Hypolite Petovan 0ec44f3e8a Rename DBM method calls to DBA method calls 2018-07-23 11:02:24 -04:00
Michael Vogel 2d0a749734
Merge pull request #5431 from MrPetovan/task/5410-rename-database-methods
Move DBA to src/ part 3.1: Rename DBA methods
2018-07-23 15:18:58 +02:00
Philipp cd52d0b3e9 Using getopt for CLI arguments (#5446)
* Adding Argument class to Friendica

* Adding Argument class to Friendica

* Adding Argument class to Friendica

* fixing arguments for `spawnWorker`

* Adding `use Friendica\BaseObject` to `ApiTest.php`

* Refactoring the argument-usages of Friendica

* Refactoring the argument-usages of Friendica

* removing superfluous []
2018-07-23 07:40:52 -04:00
Hypolite Petovan 415b982d39 Rename DBA::num_rows to DBA::numRows 2018-07-22 19:27:35 -04:00
Hypolite Petovan 4db98eb43d Rename DBA::inArray to DBA::toArray 2018-07-22 19:27:35 -04:00
Hypolite Petovan f051ae1698 Rename DBA::fetch_first to DBA::fetchFirst 2018-07-22 19:27:34 -04:00
Michael Vogel 6a6a805225 One more notice (#5429)
* Some more notices

* And some more notice in the worker
2018-07-20 20:43:21 -04:00
Hypolite Petovan af6dbc654f Rename Friendica\Database\dba to Friendica\Database\DBA 2018-07-20 08:19:26 -04:00
Hypolite Petovan daa1177e3a Update use statement lists with new Friendica\Database\dba class
- Remove unused use statement
- Remove superfluous use statements (classes in the same namespace)
- Add missing use statements
2018-07-19 22:15:21 -04:00
Hypolite Petovan d487c399dd Standards: Rename App methods
- Rename App->max_processes_reached to App->isMaxProcessesReached
- Rename App->maxload_reached to App->isMaxLoadReached
2018-07-16 19:38:14 -04:00
Michael Vogel d3a2ed85fe Next item structure works (#5380)
* Use "LEFT JOIN" to always fetch the item. Needed for update routines.

* New conversion routine that now covers every item

* Post update is now activated

* We now use a hash based upon RIPEMD-320 for content and activity

* The hash doesn't contain the plink anymore

* Legacy item fields are now "null"able

* New hash function for a server unique item hash

* Introduction of the legacy mode (usage of old item fields)

* Code simplification

* We don't need the "uri" fields anymore in item-activity and item-content

* Use the "created" and not the "received" date for the hash

* Avoiding several notices

* Some more warnings removed

* Improved uri-hash / Likes on Diaspora are now getting a creation date

* Corrected the post update version

* Ensure an unique uri-hash

* Don't delete orhaned item data at the moment

* Partly reworked, due to strange behaviour

* Some more parts reworked

* Using the uri currently seems to be more reliable

* Using the uri here as well

* Use the hash values again

* Grouped item fields in different categories

* Notices again

* use the gravity (we always should)

* Added hint for disabled post updates

* Notices ...

* Issue #5337: Personal notes are displayed again

* Use the gravity again
2018-07-15 14:36:20 -04:00
Michael 3cb7a7606e workaround for stalling worker processes when running the daemon 2018-07-11 06:05:22 +00:00
Michael Vogel 3792e2819d Use a process identifier for logging that contains the pid (#5359) 2018-07-10 18:32:47 -04:00
Philipp Holzer e41e7d2edd
Fixings
- fixed test for semaphore
- fixed some issues
- changed namespace in Tests back to "src/"
- changed namings
2018-07-05 20:57:31 +02:00
Philipp Holzer 3f7e4f5bb6
redesign of locking & caching
- New Factory "CacheDriverFactory" for Cache and Locks
- Adding Redis/Memcached Locking
- Moved Lock to Core
- other improvements
2018-06-28 22:57:17 +02:00
Philipp Holzer dd085ae592
minor changes 2018-06-26 23:42:26 +02:00
Philipp Holzer a57e6cfa1b
Moved Lock.php back to Utils 2018-06-26 23:28:07 +02:00
Philipp Holzer 0218d16335
Lock abstraction (like the Cache)
- adding interface
- adding seperate drivers
- moving Lock to the Core package
2018-06-26 22:31:04 +02:00
miqrogroove 12d0f4bf3c
Add Comments to Worker Exponent Implementation 2018-06-20 06:43:57 -04:00
miqrogroove 9cde4aa109
Make Load Exponent Configurable 2018-06-20 06:22:53 -04:00
miqrogroove 97cabcecf2
Unify Worker Load Formulas 2018-06-20 06:06:20 -04:00
Michael 00124f9ac0 Makes the linear load calculation optional 2018-06-20 04:38:50 +00:00
miqrogroove 0dbddb240c
Update Worker.php 2018-06-19 18:55:55 -04:00
miqrogroove 7e4d7b9aac
Fix logic errors in tooMuchWorkers()
There are probably a dozen different ways to do this, so this is not necessarily the "right" way.
2018-06-19 18:53:02 -04:00
Michael 962fbc9166 Many "fetch_first" had been replaced 2018-06-19 21:33:07 +00:00
Michael e97a3c25e7 Multiple daemon improvements (foreground, faster spawning) 2018-06-15 18:18:20 +00:00
Michael 1304dae0d3 Bugfix: In the daemon mode we forgot to call the cron jobs 2018-06-06 03:48:04 +00:00
Michael 371f511954 Respect "don't fork" 2018-06-02 05:17:32 +00:00
Michael 3034170088 DBStruxture can now create "memory" tables as well 2018-06-02 05:03:23 +00:00
Michael 28f8beebfc Workers can now be started exclusively from the daemon and other workers 2018-06-01 22:09:27 +00:00
Hypolite Petovan 93daf7883e Merge branch 'master' into develop
- Updated new develop version label
- Incremented database build number
2018-06-01 07:30:04 -04:00
Roland Häder fe1e7b92f2
Continued:
- system,worker_dont_fork may not be set, always set default to "false" to
  have it properly set as Config::get() may one day behave differently

Signed-off-by: Roland Häder <roland@mxchange.org>
2018-05-14 22:50:05 +02:00
Michael f1b5e828db Fix for the slow spawning of workers 2018-05-14 05:02:18 +00:00
Hypolite Petovan 27d94023ee Merge branch 'master' into develop 2018-03-23 06:15:55 -04:00
Hypolite Petovan 1c2deac7e5 Move scripts/worker.php to bin/ 2018-03-18 23:25:21 -04:00
Hypolite Petovan 95752b79e8 Add cache performance to API and worker 2018-03-04 23:13:19 -05:00
Michael 13df527d62 Bugfix: Don't cache when looking for maintenance mode 2018-03-04 13:01:46 +00:00
Hypolite Petovan d419d07f73 [Scrutinizer] Fix undeclared variables in src/ (except Protocol/)
- Use dba::selectFirst to remove intermediate variables `$r`
- Remove unused variable `$url_recipients` in Worker\Dellivery
2018-02-14 00:05:00 -05:00
Michael 6289e307aa Bugfix: The provided worker priority had been ignored 2018-02-13 02:26:35 +00:00
Michael 2a762868e9 Some clean up for the worker, arrays are now supported as parameter 2018-02-11 16:18:39 +00:00
Michael 47d165cb25 Hook calls can now be forked into a worker queue entry 2018-02-06 22:52:36 +00:00
Hypolite Petovan 5e7285b9ba Move Temporal::convert() to DateTimeFormat::convert() 2018-02-03 08:56:55 -05:00
Hypolite Petovan 35d06bd9eb Add Temporal::utc() shorthand to Temporal::convert() 2018-02-03 08:56:53 -05:00
Hypolite Petovan 8aff8a76eb Add Temporal::utcNow() 2018-02-03 08:56:52 -05:00
Hypolite Petovan dc366bf1f7 Refactor datetime_convert into Temporal::convert
- Changed parameter order to save space
- Refactor select_timezone into Temporal::getTimezoneSelect
- Refactor field_timezone into Temporal::getTimezoneField
2018-02-03 08:56:51 -05:00
Adam Magness f04d40a37e Review update
Rename function, move others
2018-01-27 11:13:41 -05:00
Adam Magness c67452f72e Move fetch_url
move fetch_url function
2018-01-26 23:09:48 -05:00
Adam Magness 11cf36105c Update Addon functions and calls
Update function names and calls for Addon class.
2018-01-20 07:48:22 -05:00
Hypolite Petovan 78ac7afe9c Move process functions to Model\Process
- Add start|endProcess functions to Core\Worker
2018-01-17 00:17:58 -05:00
Hypolite Petovan e36f2bb1fb Use short form array syntax everywhere
- Add short form array syntax to po2php.php generation
2018-01-15 14:07:17 -05:00
Hypolite Petovan 5fc4927764 Improve dba::selectFirst calls
- Fix remaining $r[0] references
- Rename $r to meaningful names
2018-01-11 03:43:57 -05:00
Hypolite Petovan ae66bcaff3 Rename selectOne to selectFirst 2018-01-10 12:57:21 -05:00
Hypolite Petovan da60893590 Replace dba::select(limit => 1) by dba::selectOne
- Convert array declarations to new style
2018-01-10 12:57:21 -05:00
Hypolite Petovan 9f04017e27 Quick fix PHP notices in various files
- Remove unused variables
- Fix variable name typos
- Use x() and defaults() to fix undefined index
- Add back uninitialized variables
2018-01-02 08:11:14 -05:00
Hypolite Petovan 10b72b0e9e PHPStan: Fix missing requires/namespaces 2017-12-17 15:26:43 -05:00
Adam Magness 28cceda461 Indentation
modified to multi line function call.
2017-11-20 11:29:55 -05:00
Adam Magness 9622dedaeb New function
new function from recent develop branch merge
2017-11-20 11:01:32 -05:00
Adam Magness 1115d19f79 More Standards
More coding standards updates.
2017-11-20 11:01:32 -05:00
Michael 920160cb28 The poller is now the worker 2017-11-19 21:47:21 +00:00
Michael cabfcfc904 We now are having a "scripts" folder 2017-11-19 21:21:54 +00:00
Michael 183999ee08 No german compound wording :-) 2017-11-19 19:47:04 +00:00
Michael 8cd21269ff The last of the big workers moved ... delivery and notifier 2017-11-19 18:59:55 +00:00
Michael 2de457489f "CreateShadowentry" and "ProfileUpdate" now moved as well 2017-11-19 16:59:37 +00:00