Commit graph

190 commits

Author SHA1 Message Date
Michael Vogel 5c72aeb8d7 Worker: The retrial value can now skip retrial levels 2019-08-11 10:28:52 +02:00
Michael Vogel 35a487ae30 Don't fork worker on frontend by default 2019-08-08 22:42:12 +02:00
Philipp Holzer 6c2cf494b5
Remove DependencyFactory
- Include all necessary classes in `dependencies.config.php`
- Add DI-reference to BaseObject (acts as a global registry)
- Refactor all static "init()" methods to use the global registry

- Refactor Logging for Worker-Logger a little bit
2019-07-27 23:54:12 +02:00
Hypolite Petovan d7d44e1af7
Merge pull request #7245 from annando/unify-constants
Fix delivery counter for poking / unify delivery commands
2019-06-10 11:59:40 -04:00
Michael 41dc243186 Fix delivery counter for poking / unify delivery commands 2019-06-10 14:19:24 +00:00
Philipp Holzer cc7444d84d
Move internal recursion-counter to the end of all cur/fetchUrl parameters 2019-06-10 14:34:54 +02:00
Michael a09c5b692c Command based pre fetching of worker tasks 2019-03-23 06:08:18 +00:00
Michael ea71a4e83a Refetch new jobs only once per execution loop 2019-03-08 20:39:58 +00:00
Tobias Diekershoff 5df246e9af
Merge pull request #6825 from annando/empty-spawn
Worker: Don't spawn without jobs
2019-03-08 07:26:22 +01:00
Michael d87abe9563 Worker: Don't spawn without jobs 2019-03-08 05:53:36 +00:00
Michael f2560c42d1 Reduce the default maximum load for the worker to 20 2019-03-02 18:41:12 +00:00
Michael c3b12b63c8 Added some description, changed logger call 2019-02-27 09:49:26 +00:00
Michael 505a34d40e Log the time as decimal 2019-02-27 09:12:40 +00:00
Michael 78960d4bde Removed unneeded spaces 2019-02-27 09:11:37 +00:00
Michael 5e440aa035 The cron interval is minutes - so we have to convert it into seconds 2019-02-27 08:55:25 +00:00
Michael 0ee1ea5f29 The log text is now shorter 2019-02-27 08:41:45 +00:00
Michael 11e39da6cc And moving the block back to the old place 2019-02-27 07:08:44 +00:00
Michael e1cc7262de Respawing when quitting 2019-02-27 07:04:21 +00:00
Michael 528636c9f4 Using constants is nicer 2019-02-27 06:55:04 +00:00
Michael fb371e1048 Merge remote-tracking branch 'upstream/2019.03-RC' into worker2 2019-02-27 06:41:14 +00:00
Michael 40573120b9 Enhanced logging, stopping worker after cron lifetime 2019-02-27 06:36:19 +00:00
Hypolite Petovan 05d8bf6b54 Fix wrong use of array_shift in Core\Worker 2019-02-25 07:11:35 -05:00
Michael 7703875b55 Fixes "Undefined property: Friendica\App::$queue" 2019-02-23 16:08:02 +00:00
Philipp Holzer 8760d89eb8
reverting back workerLogger to Logger 2019-02-23 10:24:22 +01:00
Philipp Holzer 16863c5d82
switched back to logger 2019-02-22 23:53:20 +01:00
Philipp Holzer 9c12f3f226
Formatting logger to new style 2019-02-22 20:41:13 +01:00
Philipp Holzer ee37632695
Adding worker id & functionname to worker logs 2019-02-22 20:10:27 +01:00
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