-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more config extensions, job blueprint, console application and more #113
Conversation
- Use CLI version instead of FPM, php-resque is cli-based - Restructure Dockerfile - Minor improvements
- Added tools directory which is to contain tools we'd need. Ignored during export. It's better to use such tools from binaries rather than from composer (in libraries) - Improved .gitattributes. The exported package won't contain files that the user's production won't need
Having `config.yml` for users is rather confusing, this would be more user-friendly
- Added a separate Config class to take control over configuration features. Added support for PHP and JSON configs. - Using PSR-4 for autoloading. This means that I had to unpack Resque/ folder - Yaml is now optional, moved it to require-dev and added a suggestion - Improved composer, added config option - Removed docs/api/config, which is related to Sami I've removed before - Some minor improvements I already forgot about
It was impossible to run speed:test command before if the user had a host and port different from 127.0.0.1 and 6379 because speedtest command was loading a predefined config. Now using inline options in Process and passing user-defined config options
- Add 'final' keyword to classes that are not meant to be extended - Remove unused imports
- Added Job blueprint which users can extend and would easily know about methods and their arguments - Passing Job instance to setUp and tearDown methods; sometimes it's necessary to know about the job before and after it's run
callStatic() breaks the intellisense in IDE's, adding respectful @method declarations of all possible methods is the only thing to make it work
- Fixed MongoDB handler with correct MongoDB classes. This is apparently pretty old handler. Added suggests to the composer.json - In Dockerfile using wget instead of git to get the phpiredis repository; installed mongodb
- Reverted typed properties feature - Lowered minimum supported PHP version to 7.2 - More verbose MongoDB handler, fixed return types
As the minimum supported PHP version lowered, magic methods for serialization stopped working, added both implementations so it would work in any version
- Updated documentation to acknowledge changes in v4 - Refactored to follow modern markdown style
It's more of a debug information. When the user has set debug level to info and didn't add any queues, the log file will be populated every time, increasing file size, which is bad
Thanks for your work, @PAXANDDOS! Concerning the supported configuration files, I saw that you deleted the |
It's not really gone, as I said in the PR description - just renamed (
Or do you mean that we should keep both the "config" and "resque" files? That would make sense if we are to deprecate the file, but it's the major release anyway |
@xelan Are there any other questions? I believe I described everything in the description |
Thanks, your description looks good, I just need a bit of time to review the PR. |
Bump 👀 |
Concerning the removal of Sami for doc generation - what would you think about using the maintained fork Doctum instead? Generated API doc is still useful IMHO. |
Sorry for the late response. The tool seems great! I'm not sure if Resque would need it though, the project is not really big. If you wanna target the contributors then DocBlocks within the code should be good. To be fair, I haven't seen many open-source packages using generated API docs. If you still wanna use then maybe we can delay that for v4.1 or something like that? I just really hope to see current changes in production soon but unfortunately can't do any more contributions for now, got to finish my graduate program |
Bump! |
Hi @PAXANDDOS, I‘m currently out of office and back next week. Best regards |
Fixes #110
Added
php
andjson
. This also made it possible to move symfony/yaml package from dependencies. All configuration logic is now stored in Resque\Config.setUp
andtearDown
functions now will receive the current Job instance.Resque
class to help with intellisense. callStatic() breaks the intellisense in IDE's, adding respectful @method declarations of all possible methods is the only thing to make it worktools/
folder which is to contain various binaries. Currently stores only PHP CS Fixer. This folder is ignored during export.ext-mongodb
extension andmongodb/mongodb
packageChanged
7.2
. Supported PHP versions are^7.2 or ^8.0
. (I reverted the "typed properties" feature because apparently, that's a bad practice for libraries, even packages with minimum PHP version 8 don't use them. Anyway, I already got what I wanted from them, and made enough type fixes in the previous PR)resque
instead ofconfig
(e.g.resque.php
). Having "config" for a package in users' projects is rather confusingsrc/Resque
folder, that's where most of the file changes come from.gitattributes
)predis/predis
dependency to^2.1
phpunit/phpunit
dependency version to^8.0 or ^9.0
Deprecated
Deprecated
phpiredis
config option (see predis/predis#1179)Removed
Sami
, an API documentation generator. I guess it was used back in the day, it's been abandoned for a while nowFixed
SpeedTest
commandSeializableClosure
deprecation notice. Was fixed in the previous PR but since I lowered the minimum PHP version, both implementations must be addedSecurity
final
keyword to classes that should not be extendedTests
Post-word
And that's me again! In my previous PR I was targeting a minor release, but if we're going for v4 I decided to do everything I can to help 😄 There are some changes to make the codebase modern and also features to make usage more comfortable.
I also took care of documentation and changelog.
Also when you will be making a PR from v4 to master, you can use a keyword with the issue number as I did in this and previous PR; and when the PR is merged (to master apparently), it will close the referenced issues. I'm telling you this because I saw that you mainly use GitLab and decided to let you know