Log message #4186772

# At Username Text
# May 17th 2019, 13:18 dereuromark One reddit article after 4.0 release might do the trick :P and noise
# May 17th 2019, 13:17 admad I hope people care enough about clean code and it gets us more users :slightly_smiling_face:
# May 17th 2019, 13:15 dereuromark I am shocked and suprised at the same time that both laravel and symfony are not using phpstan/psalm and dismiss any addition as "current code is fine", even though the people showed them that the opposite is true.. Funny that cake already has - and soon will even more so have - the cleanest framework code by far :slightly_smiling_face:
# May 17th 2019, 13:13 nils @dereuromark trying to convince the client to move to 3.x. But it's a huge job, I guess.
# May 17th 2019, 13:10 dereuromark that is too long ago, I cant recall, but could very well be not in schema. You can either PR it, or we ignore it (as I would)
# May 17th 2019, 13:09 dereuromark sry, my brain starts to ignore 2.x :P
# May 17th 2019, 13:08 nils That's only for 3.x, or am I mistaken? I'm running 2.x.
# May 17th 2019, 13:03 dereuromark but it is all documented even in mine: https://github.com/dereuromark/cakephp-queue/tree/master/docs#installation
# May 17th 2019, 13:03 dereuromark make sure you ran the right mgiraitons, that is how it its done as per migrations plugin
# May 17th 2019, 13:00 nils @dereuromark oh, and one more thing. I got an error about a column missing called "priority", it wasn't added when running "Schema create -p Queue" - so I manually added it. Is that a bug maybe?
# May 17th 2019, 12:48 nils The overlap with CronJobs are really smart though, I hit myself for not coming up with that as a solution myself.
# May 17th 2019, 12:48 nils Like built in? I've looked at some third-party ones, but none that really came to my liking. So it all fell on Gearman, which has been working ok. However, lately I've been getting some "Error while sending QUERY packet" - and I do believe it has to do with Gearman
# May 17th 2019, 12:46 dereuromark I asked a while ago if some costs/weight system exists yet for queue jobs, as we run very expensive tasks. But so far I dont think there is something here yet, i was planning to build that in soon as well, as opt-in feature.
# May 17th 2019, 12:45 dereuromark jep
# May 17th 2019, 12:43 nils @dereuromark that's awesome. One more question, all the config-times are put in seconds, right?
# May 17th 2019, 12:42 dereuromark We are running it for our complete release process with tons of jobs per day, works quite well if you have enough server power
# May 17th 2019, 12:40 nils @dereuromark just figured it out on my local machine - it runs fine but this is better. Changing this from Gearman which isn't that stable on my server, can't tell why.
# May 17th 2019, 12:38 dereuromark that is the most important part of the whole system :slightly_smiling_face: otherwise the workers wont run, yeah
# May 17th 2019, 12:38 nils @dereuromark yeah, read it. Maybe the cronjob thing will do the trick?
# May 17th 2019, 12:34 dereuromark if you follow the docs, this is exactly how it works.
# May 17th 2019, 12:30 nils @dereuromark I'm implementing the Queue-plugin you created. I'm still on 2.x though. When implementing it on the production server, is there a way to run the worker in the background? Like a daemon?
# May 17th 2019, 11:01 jojomartius ahhhh ok.. i gound it... :) you should not have (new ErrorHandler(Configure::read('Error')))->register(); in the cli part, you should have (new ConsoleErrorHandler(Configure::read('Error')))->register();
# May 17th 2019, 10:53 jojomartius mh yes. could be but the only place where it should be is the bootstrap.php and if i turn back to the default " (new ErrorHandler(Configure::read('Error')))->register();" it should behave normal, right?
# May 17th 2019, 10:47 neon1024 Sounds like a missing `if (PHP_SAPI === 'cli') {` somewhere
# May 17th 2019, 10:45 jojomartius for example... if the database connection of a fixture is not present in a test i got all the stuff i would normaly in the browser starting with a <pre class="cake-error" until the closing html tag :slightly_smiling_face:
# May 17th 2019, 10:44 jojomartius Hey all, somehow i messed up my error handling and if i produce an error on cli - it outputs me everything as an very long html file so i've struggle to see what went wrong :) any idea how to fix this?
# May 17th 2019, 10:02 neon1024 @mehov What is the use-case you’re trying to solve?
# May 17th 2019, 09:49 dereuromark Most hydrate the entity beforehand, it is just a setter here usually, and then do a basic save.
# May 17th 2019, 09:48 dereuromark passing the entity is fine, that way you encapsulate the save without extra db queries.
# May 17th 2019, 09:25 mehov So `$article->setAuthor()` should go to the ArticlesTable and become `$this->Articles->setAuthor($article_id)` where it'd retrieve the entity by it's ID, update the property and save the entity?`
# May 17th 2019, 09:11 neon1024 Have a look at the Repository pattern
# May 17th 2019, 09:11 neon1024 Even then, the actual Database parts are given to the Table class
# May 17th 2019, 09:11 neon1024 So the table class is passed an entity to persist
# May 17th 2019, 09:11 neon1024 The Table class knows how to persist and retrieve objects
# May 17th 2019, 09:11 neon1024 Nor should it
# May 17th 2019, 09:10 neon1024 An entity is just a plain object, it doesn’t know about a datastore
# May 17th 2019, 09:10 neon1024 I’d agree with the author, it does invert the logic
# May 17th 2019, 09:04 mehov The question originates from me trying to figure out how do I save a `DATETIME` field on an entity to MySQL `NOW()` and googling the above post up
# May 17th 2019, 09:03 slackebot provide access to a collection of objects, entities represent individual rows or domain objects in your application. Entities contain methods to manipulate and access the data they contain (https://book.cakephp.org/3.0/en/orm/entities.html)
# May 17th 2019, 09:03 slackebot read that because I naturally thought the code related to acting on an entity would go to an entity, and code related to retrieving entities goes to a table. E.g. $article->setAuthor() sets and saves $this->author and there's no point in cluttering the Articles table code with it. Makes sense to me, but the guy above says that inverts the architecture. Is that right? Because the documentation isn't as strict. > While Table Objects represent and
# May 17th 2019, 09:03 mehov Hey everyone, I have an app-architecture question. > First, I would not do any business logic operations inside an entity. Especially not placing the code inside the entity. <..> An entity is thought to be a data object, nothing more. So doing save operations inside the entity inverts the architecture. (https://stackoverflow.com/questions/35697514/cakephp-3-0-using-mysql-functions-in-entities/35697791#35697791) I was somewhat surprised to