00:00:15.747 --> 00:00:16.637 Waiting for.
00:00:17.427 --> 00:00:19.557 Azure to realize that it exists.
00:00:22.087 --> 00:00:22.457 Let me go.
00:00:41.697 --> 00:00:42.427 Come on.
00:00:43.607 --> 00:00:44.987 Oh, good thing. OK, there we go.
00:00:46.237 --> 00:00:47.237 Develop.
00:00:49.327 --> 00:00:54.077 Cool. Well, I guess I'll I will start with going over what?
00:00:59.327 --> 00:01:01.841 What Michael brought up, because I think that's a really, really
00:01:01.841 --> 00:01:02.537 good one to cover.
00:01:05.027 --> 00:01:06.697 But basically.
00:01:06.397 --> 00:01:09.087 Rich Richard has his hand up too, just as Carlo.
00:01:09.047 --> 00:01:09.857 Ohh yeah.
00:01:11.057 --> 00:01:14.119 What do you what do you have Richard for yours? Just to get
00:01:14.119 --> 00:01:14.987 that in my brain.
00:01:15.987 --> 00:01:19.747 All I wanted to do a walkthrough for refunds.
00:01:21.137 --> 00:01:22.927 Oh, OK, that one will be.
00:01:24.307 --> 00:01:26.977 Complicated, but we can look at that for sure.
00:01:29.537 --> 00:01:32.387 Once Visual Studio decides that it.
00:01:33.797 --> 00:01:35.667 Is is ready to ready to roll.
00:01:42.157 --> 00:01:42.827 Alright.
00:01:46.647 --> 00:01:49.387 So I guess we can do the refund one first.
00:01:49.867 --> 00:01:50.457 Umm.
00:01:51.497 --> 00:01:56.713 So any kind of anything to do with processing money, payments,
00:01:56.713 --> 00:02:01.267 etcetera, is gonna be in the payment provider project.
00:02:03.347 --> 00:02:07.347 And specifically in the case of refunds.
00:02:09.187 --> 00:02:12.736 It is implemented similarly to wallets in that not every
00:02:12.736 --> 00:02:16.720 provider is built to expose that specific functionality, and so
00:02:16.720 --> 00:02:18.837 it lives as a separate interface.
00:02:20.207 --> 00:02:23.212 So if we go look up here in the workflow interfaces, this is
00:02:23.212 --> 00:02:24.937 where the provider interfaces are.
00:02:25.617 --> 00:02:29.673 Umm, providers payments. You can see an eye refunds provider
00:02:29.673 --> 00:02:32.798 base. There's also subscriptions, wallet info,
00:02:32.798 --> 00:02:37.053 wallets themselves and then just the base payment provider. But
00:02:37.053 --> 00:02:41.109 if we look at it the I refunds provider it just provides one
00:02:41.109 --> 00:02:43.037 method which is refund async.
00:02:43.767 --> 00:02:44.367 Umm.
00:02:45.277 --> 00:02:49.110 So we can go look at one of the providers that actually
00:02:49.110 --> 00:02:50.547 implements refunding.
00:02:52.017 --> 00:02:56.040 Well defined one and see maybe Evo does it refunds perfect. So
00:02:56.040 --> 00:03:00.064 what this looks like physically is it's a partial class so you
00:03:00.064 --> 00:03:04.087 have your wallet stuff in one payments and another refunds and
00:03:04.087 --> 00:03:07.536 in this one so partial class it's all the same actual
00:03:07.536 --> 00:03:11.496 physical provider implementation which segment out the refund
00:03:11.387 --> 00:03:14.829 So that's the the skeleton you have the base provider,
00:03:11.496 --> 00:03:12.837 implementation stuff.
00:03:14.829 --> 00:03:16.457 payments, refunds, wallet.
00:03:17.037 --> 00:03:19.852 Yeah, this is a lot of most of them seem to be structured this
00:03:19.852 --> 00:03:21.907 way. You know, like wallet refunds, payments.
00:03:20.117 --> 00:03:23.786 This is the same as the UM elastic search setup where
00:03:23.786 --> 00:03:26.097 everyone has like a dumb burrito.
00:03:26.877 --> 00:03:27.677 Et cetera, et cetera.
00:03:28.607 --> 00:03:29.727 Yeah, something like that.
00:03:32.507 --> 00:03:35.554 So anyway, so you'll implement the eye refunds provider base on
00:03:35.554 --> 00:03:36.887 the actual payment provider.
00:03:38.067 --> 00:03:40.741 If you need it on one that doesn't have it, and then you
00:03:40.741 --> 00:03:41.257 would just.
00:03:42.067 --> 00:03:46.186 Build out the logic to refund a payment based on their whatever
00:03:46.186 --> 00:03:49.597 documentation they have to integrate with their API.
00:03:51.157 --> 00:03:55.788 So that's kind of vaguely what this looks like. And then in
00:03:55.788 --> 00:03:58.027 terms of actually using this.
00:04:00.857 --> 00:04:02.557 Out of the let me find a good place to just.
00:04:03.307 --> 00:04:05.807 So down some throw down some code.
00:04:07.537 --> 00:04:10.017 I'm just gonna pick a random place.
00:04:11.727 --> 00:04:15.757 Product CRUD workflow alright, pretend.
00:04:17.787 --> 00:04:21.860 That we're not in this method and that this is totally
00:04:21.860 --> 00:04:22.527 relevant.
00:04:24.377 --> 00:04:27.717 But in order to actually get access to the payment provider.
00:04:30.547 --> 00:04:32.517 You'll need to read it from the registry loader.
00:04:33.687 --> 00:04:37.665 So as three little wrapper get payment provider that's passing
00:04:37.665 --> 00:04:39.307 your context profile name.
00:04:40.447 --> 00:04:44.298 So that'll give you the ability to read the payment provider,
00:04:44.298 --> 00:04:48.274 but the interface that returns is I, payments provider base and
00:04:48.274 --> 00:04:52.311 there as far as I know there is no git refunds. Yeah, there's no
00:04:52.311 --> 00:04:56.411 get refunds. So what you'll need to do here is, since the payment
00:04:56.411 --> 00:05:00.200 provider itself provides the access to refunds or wallets or
00:05:00.200 --> 00:05:04.113 anything like that, what you can do is you'll have to check if
00:05:04.113 --> 00:05:05.977 the payment provider supports.
00:05:06.677 --> 00:05:07.287 Umm.
00:05:09.167 --> 00:05:10.437 Supports refunds.
00:05:10.857 --> 00:05:13.157 Umm. And so in order to check that?
00:05:15.877 --> 00:05:21.237 You do if Tim Provider is I refunds provider base.
00:05:23.317 --> 00:05:27.243 Then there you go. And then in order you can use pattern
00:05:27.243 --> 00:05:31.101 matching and whatnot to make this easier, you can add a
00:05:31.101 --> 00:05:35.027 refunds for provider here and now. The inside of this if
00:05:35.027 --> 00:05:39.161 condition will only be hit if the payment provider supports
00:05:39.161 --> 00:05:43.087 refunds and if it does inside this condition you can use
00:05:43.087 --> 00:05:44.947 refunds provider to access.
00:05:47.077 --> 00:05:50.677 That refund async? There it is. Wait.
00:05:51.707 --> 00:05:55.942 Refund Schrader dot refund async and then you can pass in your
00:05:55.942 --> 00:05:59.571 your payment which is going to presumably contain the
00:05:59.571 --> 00:06:03.672 transaction ID and any other information about what specific
00:06:03.672 --> 00:06:05.957 payment record you are refunding.
00:06:07.837 --> 00:06:11.874 As well as the transaction ID separately from that, the amount
00:06:11.874 --> 00:06:14.117 and then the context profile name.
00:06:14.837 --> 00:06:19.107 Uh, so it'll really depend from this point forward exactly what.
00:06:19.887 --> 00:06:23.757 The workflow is, but this would be how you would call into.
00:06:24.937 --> 00:06:28.432 A payment provider to refund the transaction once you've
00:06:28.432 --> 00:06:32.357 determined which transaction and how much needs to be refunded.
00:06:33.187 --> 00:06:38.819 OK. So OK, that sounds good. I was gonna ask why exactly isn't
00:06:38.819 --> 00:06:43.467 every provider equipped with the ability to refund?
00:06:44.897 --> 00:06:48.326 It's partially because some of them just didn't need it for the
00:06:48.326 --> 00:06:49.827 project they were built for.
00:06:51.667 --> 00:06:55.730 And partially because there's a potential that not every
00:06:55.730 --> 00:07:00.293 provider actually not every API actually gives that capability,
00:07:00.293 --> 00:07:04.713 or maybe whatever service level we had didn't provide refunds
00:07:04.713 --> 00:07:05.497 via an API.
00:07:06.917 --> 00:07:10.558 And so yeah, but 95% of the time, I would say if a provider
00:07:10.558 --> 00:07:14.077 doesn't support it, it's probably because a we built that
00:07:14.077 --> 00:07:17.961 specific payment provider like CyberSource, Evo, whatever for a
00:07:17.961 --> 00:07:21.905 client and refunds through step itself just wasn't part of their
00:07:21.905 --> 00:07:25.546 workflow. So they didn't, we didn't spend the time to build
00:07:25.546 --> 00:07:27.427 it because they didn't need it.
00:07:28.857 --> 00:07:31.967 Got you. And hypothetically.
00:07:33.127 --> 00:07:36.395 How complicated would it be for to build a payment provider from
00:07:36.395 --> 00:07:36.797 scratch?
00:07:37.877 --> 00:07:42.179 It really depends on the the provider. Some of them have
00:07:42.179 --> 00:07:46.859 really nice APIs that are well documented, super easy to work
00:07:46.859 --> 00:07:47.237 with.
00:07:48.047 --> 00:07:52.102 UM and generally that takes if you're just getting like
00:07:52.102 --> 00:07:54.637 payments and wallets, it's like a.
00:07:55.417 --> 00:08:00.450 Minimum 8 to potentially like 16 hour ordeal for Nice ones. For
00:08:00.450 --> 00:08:05.011 the ones that are really complicated, it can be 20 to 30.
00:08:05.011 --> 00:08:09.887 It just really depends on on how good their documentation is.
00:08:11.087 --> 00:08:14.517 And how exactly that integration is made so?
00:08:15.147 --> 00:08:15.587 Down.
00:08:16.697 --> 00:08:19.655 Yeah, it's it's a pretty significant lift. And then each
00:08:19.655 --> 00:08:22.717 individual feature that you want to add on top of that, so
00:08:22.717 --> 00:08:24.897 refunds is probably an additional 6 to 8.
00:08:25.437 --> 00:08:26.277 UM.
00:08:27.187 --> 00:08:30.618 If I were estimating for like for restorations, that's what I
00:08:30.618 --> 00:08:33.938 would add is 6 to 8 to add refunds on to a provider that we
00:08:33.938 --> 00:08:34.657 already have.
00:08:36.057 --> 00:08:40.267 For subscriptions and recurring payments, probably 16 to 20 just
00:08:40.267 --> 00:08:44.413 because we've notoriously had a lot of trouble getting that one
00:08:44.413 --> 00:08:48.105 to to work as well as we would like it to. So. But yeah,
00:08:48.105 --> 00:08:50.567 payment providers are pretty complex.
00:08:51.297 --> 00:08:55.291 And just because you know by nature of what they're doing,
00:08:55.291 --> 00:08:59.421 accepting payment and you know, actually processing people's
00:08:59.421 --> 00:08:59.827 money.
00:09:00.557 --> 00:09:03.564 It makes it makes sense that there's a lot of complexity
00:09:03.564 --> 00:09:06.887 involved in that, because it's really gotta be done correctly.
00:09:08.047 --> 00:09:08.597 So.
00:09:09.907 --> 00:09:11.857 Unless that, hopefully that answers the question.
00:09:12.277 --> 00:09:18.248 Yeah, you did the last question I had was if I wanted to test
00:09:18.248 --> 00:09:20.367 the refund capability.
00:09:21.997 --> 00:09:23.307 What's the best place to do?
00:09:24.247 --> 00:09:28.448 Yeah. So it depends on which provider. But generally
00:09:28.448 --> 00:09:33.204 speaking, when we're when we're doing development on client
00:09:33.204 --> 00:09:37.959 projects, hopefully we have like test credentials for their
00:09:37.959 --> 00:09:39.307 payment provider.
00:09:40.137 --> 00:09:43.784 Umm. And so if that is, if that is not the case, it's pretty
00:09:43.784 --> 00:09:47.372 difficult to actually develop the integration test and make
00:09:47.372 --> 00:09:48.747 sure that it's working.
00:09:49.447 --> 00:09:53.603 Umm. So if we don't have test credentials or the client hasn't
00:09:53.603 --> 00:09:54.527 provided them.
00:09:55.167 --> 00:09:57.956 Umm. Then I would. I would say this. That's probably a
00:09:57.956 --> 00:10:01.253 situation where you would block a task because you would have no
00:10:01.253 --> 00:10:02.217 way to verify that.
00:10:02.967 --> 00:10:04.437 The logic actually works.
00:10:05.917 --> 00:10:09.873 But what you would probably want to do is confirm that you have
00:10:09.873 --> 00:10:13.767 those credentials that you can get access to it, and then make
00:10:13.767 --> 00:10:17.167 sure if you're building out like refund functionality.
00:10:17.737 --> 00:10:21.937 Umm that the payment side works and then and then pass all that
00:10:21.937 --> 00:10:25.875 information into the refund one and see if it does what you
00:10:25.875 --> 00:10:27.647 expect on the test side so.
00:10:28.147 --> 00:10:31.560 Umm. And that's kind of a vague answer, just because a lot of
00:10:31.560 --> 00:10:34.644 testing anything around payment providers is completely
00:10:34.644 --> 00:10:37.617 contingent on actually having the credentials for it.
00:10:38.377 --> 00:10:41.398 Umm. And so I would say that's probably the biggest. The
00:10:41.398 --> 00:10:44.578 biggest question to answer. If you're gonna test it. But at
00:10:44.578 --> 00:10:47.970 that point, if you do have those credentials, as long as you've
00:10:47.970 --> 00:10:51.256 set it up correctly and you're in test mode and everything on
00:10:51.256 --> 00:10:53.747 your local, you could test that on your local.
00:10:55.347 --> 00:10:57.177 And if you're developing a.
00:10:57.867 --> 00:10:59.993 Payment provider or building out any payment provider
00:10:59.993 --> 00:11:02.395 functionality you're going to need to have it set up in test
00:11:02.395 --> 00:11:04.797 mode and all the credentials set up on your local anyway so.
00:11:07.457 --> 00:11:08.787 Yeah, it's you, OK.
00:11:10.407 --> 00:11:13.011 You answered most of my questions, so thanks for the
00:11:13.011 --> 00:11:13.257 info.
00:11:14.387 --> 00:11:14.757 State.
00:11:15.517 --> 00:11:19.447 They also have any questions on this specific topic.
00:11:20.217 --> 00:11:21.507 Or anything adjacent to it.
00:11:22.427 --> 00:11:23.427 If not, I can just go.
00:11:24.197 --> 00:11:25.667 Talk about the caching thing now.
00:11:34.417 --> 00:11:35.187 All right.
00:11:37.937 --> 00:11:39.347 To the service layer.
00:11:44.707 --> 00:11:48.422 And all of the caching stuff. Well, not all, but a majority of
00:11:48.422 --> 00:11:51.017 it is in the clarity commerce service base.
00:11:51.957 --> 00:11:53.287 Just type 304.
00:12:00.117 --> 00:12:02.307 Yeah, that's right. Here is where most of the.
00:12:03.747 --> 00:12:07.409 Most of the brains for this is, so I'm sure if any of you have
00:12:07.409 --> 00:12:10.954 worked on anything on the back end, you've probably all seen
00:12:10.954 --> 00:12:11.187 the.
00:12:12.627 --> 00:12:16.648 The very long method name here use last modified for three or
00:12:16.648 --> 00:12:19.567 four or creative return cached result async.
00:12:20.707 --> 00:12:25.749 So the way this works is, UM, it's a performance optimization
00:12:25.749 --> 00:12:28.107 and a bandwidth optimization.
00:12:28.587 --> 00:12:29.767 Umm so.
00:12:30.697 --> 00:12:36.811 The tooth the basically there's two kind of halves to caching we
00:12:36.811 --> 00:12:37.187 can.
00:12:37.887 --> 00:12:40.747 We can cache the data on our side.
00:12:41.397 --> 00:12:44.836 And every time a request comes in, we return the same cached
00:12:44.836 --> 00:12:48.162 data, so we don't have to recalculate it. That is, that is
00:12:48.162 --> 00:12:51.601 just basic server side caching and obviously very important,
00:12:51.601 --> 00:12:52.447 very necessary.
00:12:54.137 --> 00:12:58.998 But in this scenario where a client as in like a browser or a
00:12:58.998 --> 00:13:03.467 specific you know end user machine has already requested
00:13:03.467 --> 00:13:08.563 that data and has a copy of its stored locally, there's no value
00:13:08.563 --> 00:13:13.267 in sending the exact same data to that client again and so.
00:13:13.347 --> 00:13:17.142 Umm, one of the HTTP status codes we can return is an empty
00:13:17.142 --> 00:13:21.190 response with a 304 status code and that effectively is just us
00:13:21.190 --> 00:13:25.239 telling the browser's nothing's changed since the last time you
00:13:25.239 --> 00:13:29.161 received this data. So you can just use what you have on your
00:13:29.161 --> 00:13:29.477 side.
00:13:31.707 --> 00:13:35.994 So the the way that that works functionally on our side is the
00:13:35.994 --> 00:13:40.214 browser, the request one of the headers on it is. It's like I
00:13:40.214 --> 00:13:44.297 last modified or something. I see if I can find it in here.
00:13:47.697 --> 00:13:50.897 It's like in the stuff has valid cache or something like that.
00:13:53.847 --> 00:13:57.983 Yeah, if modified sense. Yeah. So the browser will attach this
00:13:57.983 --> 00:14:00.937 header this if modified since header to the.
00:14:02.537 --> 00:14:06.255 To their request and we can process that and the browser.
00:14:06.255 --> 00:14:10.359 The browser is basically telling us, hey, you sent me some data
00:14:10.359 --> 00:14:12.667 for this request at this timestamp.
00:14:14.187 --> 00:14:16.947 If nothing has changed since this timestamp.
00:14:18.137 --> 00:14:21.037 Then you can just give me a 304 and I'll use the same data.
00:14:22.657 --> 00:14:27.146 And so that's basically what all this does. So we run the last
00:14:27.146 --> 00:14:31.137 modified logic and that's gonna be different for every.
00:14:31.277 --> 00:14:35.081 UM for every endpoint, but that's effectively checking if
00:14:35.081 --> 00:14:38.885 the updated dates on any relevant records have changed or
00:14:38.885 --> 00:14:41.837 when the last time any of them was modified.
00:14:44.067 --> 00:14:47.920 If the last modified time is after the time that we sent data
00:14:47.920 --> 00:14:51.028 to the front end, then that means the front end's
00:14:51.028 --> 00:14:55.067 information is out of date, and so we would skip this part right
00:14:55.067 --> 00:14:58.858 here. So this would right here would return the not modified
00:14:58.858 --> 00:15:02.463 the 304 empty response that tells the browser you can use
00:15:02.463 --> 00:15:05.757 it, but if we've determined that the request is not.
00:15:05.877 --> 00:15:08.177 Uh doesn't have a valid cache.
00:15:08.797 --> 00:15:13.592 Then we would skip past this and go down to the create and return
00:15:13.592 --> 00:15:14.537 cache result.
00:15:15.277 --> 00:15:15.907 Umm.
00:15:17.257 --> 00:15:18.727 And so at that point.
00:15:19.467 --> 00:15:20.187 Umm.
00:15:21.147 --> 00:15:23.577 At that point, we would be going into.
00:15:24.767 --> 00:15:25.977 This piece here.
00:15:27.547 --> 00:15:30.733 We're going to kind of assume storefront, so we're just going
00:15:30.733 --> 00:15:33.560 to ignore all the no cache stuff. We generate a key to
00:15:33.560 --> 00:15:35.307 identify the cache, so if you've.
00:15:36.077 --> 00:15:39.408 I looked at like a your radius, another Redis desktop manager.
00:15:39.408 --> 00:15:42.687 Very useful tool, by the way, if you're not using it already.
00:15:43.477 --> 00:15:46.082 Uh, I was working on ships, so it should actually have some
00:15:46.082 --> 00:15:46.907 stuff in the urine.
00:15:48.237 --> 00:15:52.348 Not really, but that's good enough. This is a cache key, so
00:15:52.348 --> 00:15:56.527 it's Jeff cache, colon chip, local clarity, client.com colon
00:15:56.527 --> 00:16:00.570 earn colon. So each of the colons basically separates like
00:16:00.570 --> 00:16:00.707 a.
00:16:01.047 --> 00:16:01.927 Uh.
00:16:03.067 --> 00:16:03.437 A.
00:16:04.217 --> 00:16:07.383 And you can think of it like folders pretty much, and that's
00:16:07.383 --> 00:16:10.186 exactly how this desktop is read. Is Desktop Manager,
00:16:10.186 --> 00:16:12.677 organizes them, makes it easier for you to see.
00:16:13.367 --> 00:16:17.637 All the data, but what that what this is doing is.
00:16:19.257 --> 00:16:22.747 It generates this build key thing, generates that key, which
00:16:22.747 --> 00:16:25.837 is exactly where it gets stored into the Redis cache.
00:16:26.557 --> 00:16:29.437 And then this guy 2 optimized results.
00:16:30.817 --> 00:16:37.345 Will resolve from the cache 1st and if it's not in there then it
00:16:37.345 --> 00:16:37.847 will.
00:16:38.577 --> 00:16:42.131 UM, generate it using this factory function, which is the
00:16:42.131 --> 00:16:44.337 the code that generates the result.
00:16:45.667 --> 00:16:47.847 And then store it into the cache with that key.
00:16:49.037 --> 00:16:55.219 Umm. And that this handles the situation where if a a request
00:16:55.219 --> 00:16:59.207 has already been stored into the cache.
00:17:01.337 --> 00:17:05.167 Like the server side Redis cache, but a browser didn't send
00:17:05.167 --> 00:17:06.507 an if modified since.
00:17:07.657 --> 00:17:10.685 We can still return data from the Redis cache without
00:17:10.685 --> 00:17:12.367 calculating the entire result.
00:17:13.377 --> 00:17:16.441 As long as the key matches, uh, something that's already in
00:17:16.441 --> 00:17:16.747 there.
00:17:17.347 --> 00:17:20.746 Umm. And then we still get the performance optimization of
00:17:20.746 --> 00:17:24.548 returning a precalculated result from the cache. We don't have to
00:17:24.548 --> 00:17:27.947 rerun the entire request. It's not as performant as a 304.
00:17:29.177 --> 00:17:31.807 But it's still better than running all the logic.
00:17:32.487 --> 00:17:33.677 Umm so.
00:17:35.257 --> 00:17:36.527 Then that's pretty much it.
00:17:37.007 --> 00:17:37.637 UM.
00:17:38.807 --> 00:17:42.274 The the rest of this is sort of just boilerplate handling
00:17:42.274 --> 00:17:44.127 building out the HTTP response.
00:17:46.517 --> 00:17:48.527 So yeah, I mean that's.
00:17:49.257 --> 00:17:49.807 We don't yet.
00:17:53.807 --> 00:17:56.097 The usage for these looks.
00:17:59.247 --> 00:18:01.607 And a good example is that I mean, there's a ton of these,
00:18:01.607 --> 00:18:01.767 but.
00:18:05.777 --> 00:18:07.767 Yeah, that'll work. Why not?
00:18:08.947 --> 00:18:13.047 Uh, so if we like this endpoint, get UI translations dictionary
00:18:13.047 --> 00:18:17.018 so the what you're passing into this is the request, the last
00:18:17.018 --> 00:18:20.926 mod function and the factory function. So here we're passing
00:18:20.926 --> 00:18:21.887 in our request.
00:18:22.737 --> 00:18:26.477 Uh, right here. We pass in a function that returns the last
00:18:26.477 --> 00:18:30.217 modified date or a task of last modified date in this case.
00:18:31.537 --> 00:18:35.048 So then we pass in the request to these and this is basically
00:18:35.048 --> 00:18:38.276 saying hey, calculate the results set of this, but don't
00:18:38.276 --> 00:18:41.674 do the entire process, just determine the the last modified
00:18:41.674 --> 00:18:42.977 date of the result set.
00:18:43.737 --> 00:18:47.637 Umm. And then the second section here is the one that will
00:18:47.637 --> 00:18:51.801 actually generate the result if either there is nothing cached
00:18:51.801 --> 00:18:55.965 at all or the last modified was invalid, or whatever the case,
00:18:55.965 --> 00:18:59.667 then this will be the one that will actually go in and.
00:19:00.547 --> 00:19:01.187 Umm.
00:19:03.037 --> 00:19:05.623 Generate the new result stored into the cache and then this
00:19:05.623 --> 00:19:06.787 will be what gets returned.
00:19:14.907 --> 00:19:18.437 That is 30 fours and whatnot.
00:19:27.797 --> 00:19:29.377 Anybody have any other?
00:19:30.247 --> 00:19:32.647 Topics cool stuff to ask.
00:19:34.657 --> 00:19:38.626 Actually, I'm kind of curious for like client overrides would
00:19:38.626 --> 00:19:42.788 be lean towards trying to build them like a cache endpoint. Like
00:19:42.788 --> 00:19:46.629 if we're they're doing some something unique for a CV grid,
00:19:46.629 --> 00:19:50.727 would it be better to to build that out as a cache endpoint or?
00:19:52.317 --> 00:19:53.427 Yeah. What do you think about that?
00:19:52.607 --> 00:19:53.217 So.
00:19:53.917 --> 00:19:57.091 It really depends on what you're building, because obviously
00:19:57.091 --> 00:20:00.109 there is extra effort involved in making an endpoint that
00:20:00.109 --> 00:20:03.179 supports the 304 and everything you have to build the last
00:20:03.179 --> 00:20:06.093 modified logic and all that stuff, and then once you've
00:20:06.093 --> 00:20:09.320 built both of those, you just call this method. So it's not a
00:20:09.320 --> 00:20:12.234 ton of extra work, but there is extra work involved and
00:20:12.234 --> 00:20:15.564 especially if you're up against deadlines or you don't have the
00:20:15.564 --> 00:20:16.917 time on a task to do that.
00:20:18.157 --> 00:20:22.076 It's sort of one of those. One of those things where there is a
00:20:22.076 --> 00:20:23.607 bit of a toss up between.
00:20:25.237 --> 00:20:28.859 If this request is already running extremely quickly,
00:20:28.859 --> 00:20:33.018 there's probably not a ton of value in doing it there. But on
00:20:33.018 --> 00:20:33.957 the flip side.
00:20:34.987 --> 00:20:38.667 Whether you have the time for it or not, if you've got a long
00:20:38.667 --> 00:20:42.228 running request that's really difficult to calculate and it
00:20:42.228 --> 00:20:45.908 doesn't need to be live data every time, then you should lean
00:20:45.908 --> 00:20:48.757 toward using these methods to cache the result.
00:20:49.877 --> 00:20:53.117 If at all possible and it'll caching is something that.
00:20:54.717 --> 00:20:56.517 You know, we're all kind of.
00:20:57.277 --> 00:21:00.441 We've all had our trouble with and so, uh longer term,
00:21:00.441 --> 00:21:03.893 something. I mean, it doesn't even really need to be longer
00:21:03.893 --> 00:21:06.367 term. I could catch this into like 2022.3.
00:21:07.527 --> 00:21:09.977 But we have an is no cache piece right here.
00:21:10.657 --> 00:21:12.747 I could very easily add. Uh.
00:21:13.907 --> 00:21:19.057 Alright, OK. Or SEF config dictionary dot skip caching.
00:21:21.717 --> 00:21:25.641 So that we could, you know, work around any caching shenanigans
00:21:25.641 --> 00:21:26.377 and whatnot.
00:21:28.557 --> 00:21:32.327 And that would be really nice, I think for local development for
00:21:32.327 --> 00:21:32.907 everybody.
00:21:34.357 --> 00:21:34.807 But.
00:21:36.117 --> 00:21:38.057 In the in the meantime.
00:21:38.777 --> 00:21:39.367 Uh.
00:21:41.557 --> 00:21:44.681 Just clearing Redis caches and stuff and browser caches is a
00:21:44.681 --> 00:21:46.627 good way to kind of work around that.
00:21:47.847 --> 00:21:49.647 But I guess the answer the question.
00:21:50.487 --> 00:21:54.454 Uh, if you have an endpoint that is long running, difficult to
00:21:54.454 --> 00:21:58.106 compute and doesn't need to be live data, you should lean
00:21:58.106 --> 00:21:58.547 toward.
00:21:59.257 --> 00:22:02.542 Using these methods just to ensure that the site performance
00:22:02.542 --> 00:22:05.557 isn't degraded when there's lots of people doing stuff.
00:22:07.767 --> 00:22:08.977 Gotcha. Thanks.
00:22:10.267 --> 00:22:13.497 And TMK, you got something?
00:22:15.747 --> 00:22:16.407 I was kind of.
00:22:17.497 --> 00:22:20.868 Popping in and out of paying attention to we go over cash and
00:22:20.868 --> 00:22:21.847 validation of all.
00:22:23.247 --> 00:22:24.607 Little bit, yeah, so.
00:22:24.967 --> 00:22:25.287 OK.
00:22:25.927 --> 00:22:29.645 The way that it does that is to really quickly recap is you pass
00:22:29.645 --> 00:22:33.248 in a a function that calculates the last modified date of your
00:22:33.248 --> 00:22:33.877 result set.
00:22:34.577 --> 00:22:38.428 Umm. And using the so the you know that gets calculated in.
00:22:34.797 --> 00:22:35.237 OK.
00:22:38.428 --> 00:22:42.342 Here is the last modified date of the result set and then we
00:22:42.342 --> 00:22:43.947 compare that against the.
00:22:44.797 --> 00:22:46.007 The data in the cache.
00:22:46.777 --> 00:22:47.047 OK.
00:22:48.377 --> 00:22:50.147 So that is the.
00:22:51.287 --> 00:22:52.987 That is the idea on that one.
00:22:56.267 --> 00:22:57.977 And obviously like that would.
00:22:59.277 --> 00:23:02.537 I'm sure there will be instances where, for whatever reason,
00:23:02.537 --> 00:23:05.744 something's not updating the last modified where that would
00:23:05.007 --> 00:23:05.577 Correct.
00:23:05.744 --> 00:23:07.187 be the issue kind of thing.
00:23:06.377 --> 00:23:10.300 Correct. Yeah. So that's a really good thing to call out
00:23:10.300 --> 00:23:10.507 is.
00:23:11.507 --> 00:23:15.018 And I do this I I accidentally make this mistake all the time.
00:23:15.018 --> 00:23:18.139 I can even I can even pull up like row and and show you
00:23:18.139 --> 00:23:19.867 exactly what I'm talking about.
00:23:25.597 --> 00:23:27.957 Here in the overrides.
00:23:28.717 --> 00:23:29.497 Oh.
00:23:32.587 --> 00:23:34.577 Probably be appointment workflow.
00:23:35.227 --> 00:23:38.150 We have some methods in here that's good available time. So
00:23:38.150 --> 00:23:39.027 you pass all this.
00:23:41.957 --> 00:23:45.077 Trying to find one of the nice easy ones. It's like low code.
00:23:54.337 --> 00:23:58.697 I know I got something in here. You just just give me a SEC.
00:23:59.897 --> 00:24:00.627 Correct.
00:24:05.047 --> 00:24:07.077 A lot of custom stuff done in this one.
00:24:09.207 --> 00:24:10.897 Test results maybe no.
00:24:12.157 --> 00:24:17.926 Users, perhaps. Well anyway, I can't find a good a good example
00:24:17.926 --> 00:24:18.827 of it but.
00:24:20.487 --> 00:24:24.280 Effectively what we were seeing was we would update like a
00:24:24.280 --> 00:24:26.337 status or do like a really fast.
00:24:27.857 --> 00:24:32.913 Update of a record but not update the updated date on that
00:24:32.913 --> 00:24:34.627 record and then the.
00:24:34.707 --> 00:24:38.073 The the get request that populates CV grids on the front
00:24:38.073 --> 00:24:41.676 end would still be showing old data and if you clicked in on
00:24:41.676 --> 00:24:45.396 those pages then you would see up-to-date information, but the
00:24:45.396 --> 00:24:48.586 actual individual records themselves or the grid that
00:24:48.586 --> 00:24:52.070 shows all the records was showing outdated information and
00:24:52.070 --> 00:24:55.732 it's because the result sets last modified hadn't changed and
00:24:55.732 --> 00:24:57.917 so we were seeing a cached response.
00:24:58.957 --> 00:25:01.599 So that is a really good thing to know is if you're writing any
00:25:01.599 --> 00:25:02.507 logic that's updating.
00:25:03.147 --> 00:25:06.173 Records you should make sure that you're updating the updated
00:25:06.173 --> 00:25:06.417 date.
00:25:09.057 --> 00:25:10.067 Just to ensure that.
00:25:11.187 --> 00:25:12.397 The cash is broken.
00:25:27.627 --> 00:25:28.357 Any other?
00:25:29.787 --> 00:25:33.207 Thoughts, questions, fears or et cetera.
00:25:54.117 --> 00:25:54.667 Alright.
00:25:57.287 --> 00:25:59.067 I had a ohk OK.
00:25:57.347 --> 00:25:57.937 Uh.
00:25:59.377 --> 00:26:00.157 Oh, no. Yeah, go ahead.
00:26:00.947 --> 00:26:02.967 No, I was going to say how to slide.
00:26:04.117 --> 00:26:11.167 Bug like I'm trying to implement implement a partial interface.
00:26:12.057 --> 00:26:14.277 And for some reason.
00:26:15.117 --> 00:26:15.967 The.
00:26:17.287 --> 00:26:18.887 I think it's about a shared my screen.
00:26:19.477 --> 00:26:19.927 Yeah. Good.
00:26:20.307 --> 00:26:21.537 Might I explained it properly?
00:26:25.727 --> 00:26:31.137 So currently I tried to implement a partial interface.
00:26:31.847 --> 00:26:34.417 Up in workflows from my job openings.
00:26:35.197 --> 00:26:38.237 Which for the most part looks OK.
00:26:39.757 --> 00:26:45.126 However, the original generated crud workflow isn't actually
00:26:45.126 --> 00:26:47.327 picking up the interface.
00:26:48.567 --> 00:26:51.469 So it is it is picking up the interface. It's just saying that
00:26:51.469 --> 00:26:54.417 you don't have an implementation for the method that you added.
00:26:55.337 --> 00:26:59.006 Yeah, but I already have a extended class that has the
00:26:59.006 --> 00:27:00.007 implementation.
00:27:00.337 --> 00:27:00.667 OK.
00:27:01.117 --> 00:27:03.887 But then this weird thing also happens where?
00:27:04.607 --> 00:27:08.895 The IT doesn't actually inherit from the like I didn't have this
00:27:07.377 --> 00:27:11.647 OK. So yeah, you like to remove that part and.
00:27:08.895 --> 00:27:09.357 before.
00:27:12.647 --> 00:27:17.510 Uh, right click on your job opening workflow on line 21 and
00:27:17.510 --> 00:27:19.617 click find all references.
00:27:22.937 --> 00:27:26.287 If it only finds the one OK, wait.
00:27:37.697 --> 00:27:38.417 Hmm.
00:27:39.557 --> 00:27:43.247 Can you click on the job opening CRUD workflow dot generated dot
00:27:43.247 --> 00:27:43.417 CS?
00:27:48.527 --> 00:27:51.867 30 Daddy commerce.org flow public partial class job opening
00:27:51.867 --> 00:27:54.707 will go back to the other class, the extended one.
00:27:55.217 --> 00:27:56.267 You can put them on the side.
00:27:56.957 --> 00:27:57.617 Yeah, that'll work.
00:28:00.507 --> 00:28:01.377 To use this one.
00:28:02.407 --> 00:28:06.434 30 dot e-commerce. That's right. One. Yeah. That's where we were.
00:28:02.467 --> 00:28:03.057 Nope.
00:28:05.157 --> 00:28:06.707 Oh, that's that's only one, OK.
00:28:06.434 --> 00:28:07.227 Yep. Perfect.
00:28:08.477 --> 00:28:11.347 Clarity dot ecommerce dot workflow.
00:28:10.227 --> 00:28:14.269 There it does work if I add an S to the other one like the both
00:28:14.269 --> 00:28:18.437 arrows go away, but I'm not sure why that namespace works when it
00:28:18.437 --> 00:28:19.637 should be workflow.
00:28:20.957 --> 00:28:23.387 Like if I just I just do this.
00:28:24.947 --> 00:28:28.497 It magically seems to fix everything.
00:28:28.907 --> 00:28:32.414 Oh, that that would be because the work flows namespaces wrong.
00:28:32.414 --> 00:28:35.920 So this partial interface isn't the same as the. I jave opening
00:28:35.920 --> 00:28:38.934 that that's deriving from because it's reading it from
00:28:38.934 --> 00:28:39.427 workflow.
00:28:40.057 --> 00:28:41.137 Ah.
00:28:43.437 --> 00:28:45.147 So it would just basically create an.
00:28:46.357 --> 00:28:48.587 An interface that doesn't get used anywhere.
00:28:49.147 --> 00:28:49.707 Thought you.
00:29:21.687 --> 00:29:24.687 Uh, sorry, I was getting a message on the screen alright,
00:29:24.687 --> 00:29:27.533 so already commerce dot interfaces, workflows I job so
00:29:27.533 --> 00:29:30.637 it's saying it doesn't have notify user denied job opening.
00:29:32.377 --> 00:29:33.257 Umm.
00:29:38.617 --> 00:29:41.229 Which is the method you added over there. Go back to on the
00:29:41.229 --> 00:29:42.797 left, go back to the extended file.
00:29:47.867 --> 00:29:48.847 And let's see.
00:29:59.487 --> 00:29:59.757 Huh.
00:30:00.637 --> 00:30:01.547 Oh wait.
00:30:02.467 --> 00:30:05.157 They think I'm missing an argument.
00:30:06.537 --> 00:30:08.107 Ah, well, that, yeah, that would do it.
00:30:11.747 --> 00:30:13.147 Ah, there you go. OK.
00:30:12.577 --> 00:30:15.548 Yeah, there it goes. OK. Yeah, good catch. Good catch. Well,
00:30:14.017 --> 00:30:15.327 Yeah, just realized.
00:30:15.548 --> 00:30:18.520 you can do for that. Just to make things easier is if you go
00:30:18.520 --> 00:30:19.397 to your interface.
00:30:20.987 --> 00:30:21.657 Umm.
00:30:24.437 --> 00:30:28.687 You can just copy that entire line, paste it into your.
00:30:28.767 --> 00:30:32.728 Uh, your extended CSS file and then just add public async to
00:30:32.728 --> 00:30:34.287 the beginning of it and.
00:30:33.137 --> 00:30:37.242 Yeah, I I did it in reverse because I I yeah, that's kind of
00:30:35.907 --> 00:30:36.567 Gotcha.
00:30:37.242 --> 00:30:41.347 how I ended up in this one as well. Noted save me some time.
00:30:42.497 --> 00:30:43.367 But thanks for holding.
00:31:17.157 --> 00:31:18.707 Little fantastic.
00:31:24.237 --> 00:31:27.279 Anybody else have any other things they would like to go
00:31:27.279 --> 00:31:28.507 over? Any questions or?
00:31:30.127 --> 00:31:34.453 It doesn't have to be like crazy complex topics or anything. It
00:31:34.453 --> 00:31:38.441 can be. It can be relatively simple stuff. Everybody's got
00:31:38.441 --> 00:31:39.387 questions. So.
00:31:40.527 --> 00:31:43.207 Something I just put in the chat that.
00:31:44.847 --> 00:31:49.325 Council application I made and showed off before 2 request API
00:31:49.325 --> 00:31:53.377 information and write to CSV. I made that multithreaded.
00:31:54.117 --> 00:31:54.597 Ah.
00:31:56.817 --> 00:32:01.067 And I was thinking that might be useful functionality for connect
00:32:01.067 --> 00:32:02.097 instances where.
00:32:02.827 --> 00:32:08.356 Are the API doesn't have a rate limit and we can use a bunch of
00:32:08.356 --> 00:32:09.047 the CPU?
00:32:10.447 --> 00:32:13.247 Yeah, that makes sense to me.
00:32:11.697 --> 00:32:12.217 Awesome.
00:32:16.037 --> 00:32:17.487 Send that to the old.
00:32:18.587 --> 00:32:21.507 Those those cool kids in the connect.
00:32:22.417 --> 00:32:26.801 I can't think of AC for like a cool kids in the Kinect clan.
00:32:26.801 --> 00:32:30.107 There we go get some nice alliteration going.
00:32:30.797 --> 00:32:32.707 Just to make those cases instead of seeds.
00:32:31.077 --> 00:32:31.677 Uh.
00:32:33.947 --> 00:32:34.497 To.
00:32:34.287 --> 00:32:34.827 Anyway.
00:32:35.797 --> 00:32:36.857 I get it.
00:32:38.767 --> 00:32:39.537 Uh.
00:32:38.807 --> 00:32:39.257 Uh.
00:32:41.977 --> 00:32:42.877 You can go, Bill.
00:32:43.947 --> 00:32:45.547 No, it doesn't say that. Uh.
00:32:48.157 --> 00:32:50.347 To be good for them to get their eyes on and they connect group
00:32:50.347 --> 00:32:52.127 and see if there's something they can do with that.
00:32:55.047 --> 00:32:56.717 I was gonna ask if I'm.
00:32:59.737 --> 00:33:03.657 You got a chance to look at the updates for the installer.
00:33:04.457 --> 00:33:06.477 I know last time we talked about like.
00:33:08.237 --> 00:33:10.047 A potential feature of it like.
00:33:10.667 --> 00:33:12.457 Being a window instead of a.
00:33:12.937 --> 00:33:14.897 Umm, so I have not.
00:33:13.987 --> 00:33:15.667 Soldered to toss where.
00:33:15.747 --> 00:33:19.707 Yeah, I have not yet had a chance to make that change, but
00:33:19.707 --> 00:33:24.069 we do have various improvements, fixes and et cetera planned for
00:33:24.069 --> 00:33:28.297 the for the installer. And then in the relatively near future.
00:33:29.047 --> 00:33:29.587 Umm.
00:33:30.907 --> 00:33:36.917 We we did recently start to roll out the 2022.3 release.
00:33:37.737 --> 00:33:38.467 Umm.
00:33:39.327 --> 00:33:41.958 As when's a lot more low key than 2022.2, because it's
00:33:41.958 --> 00:33:45.020 there's, there's not a whole lot that went into it. It's mostly
00:33:45.020 --> 00:33:45.977 HIPAA pay hub stuff.
00:33:46.807 --> 00:33:51.030 Umm. So nothing, nothing. Super exciting for the day-to-day on
00:33:51.030 --> 00:33:52.907 this one unfortunately, but.
00:33:56.007 --> 00:33:56.967 That will be.
00:33:58.187 --> 00:34:01.419 That will be available as the default branch. I think it
00:34:01.419 --> 00:34:04.765 already is actually, and then sometime probably early next
00:34:04.765 --> 00:34:07.941 week I'll be pushing out an update for the installer to
00:34:07.941 --> 00:34:11.286 support installing 2022.3 or selecting it as an option and
00:34:11.286 --> 00:34:12.137 all that stuff.
00:34:13.387 --> 00:34:16.987 So yeah, in this case it was nice and easy to to do for
00:34:16.987 --> 00:34:21.102 installer support because it's the same as 2022.2. So basically
00:34:21.102 --> 00:34:23.867 it's just adding a drop down to the thing.
00:34:25.757 --> 00:34:27.327 Awesome. OK.
00:34:27.567 --> 00:34:28.697 Uh, and then?
00:34:29.647 --> 00:34:33.660 Some other things that I will also be pushing out hopefully
00:34:33.660 --> 00:34:38.008 earlier, early next week for the installer is switching the node
00:34:38.008 --> 00:34:41.687 stuff from 16.9 to 16.10 since that's what we're using
00:34:41.687 --> 00:34:45.366 everywhere else, it just it's still builds fine on the
00:34:45.366 --> 00:34:49.581 installer as 16.9 you just get a ton of warnings in the in the
00:34:49.487 --> 00:34:53.764 Yeah, because a lot of the stuff I think they are a bunch of them
00:34:49.581 --> 00:34:52.457 output. That is kind of annoying, so yeah.
00:34:53.764 --> 00:34:54.477 need 16.10.
00:34:54.957 --> 00:34:58.677 Yeah. So, so that, that kind of cleans up some of the output.
00:34:58.877 --> 00:35:02.382 Umm. And then I I can't remember what else. I think there were a
00:35:02.382 --> 00:35:05.618 couple of things I fixed, but yeah, I'm hoping that I'll be
00:35:05.618 --> 00:35:06.427 able to get to.
00:35:07.417 --> 00:35:10.687 Moving it out of a system tray icon here pretty soon.
00:35:12.327 --> 00:35:13.197 And.
00:35:14.527 --> 00:35:15.777 Other such improvements.
00:35:19.867 --> 00:35:22.551 I guess three of question is, are you going to change the font
00:35:22.551 --> 00:35:23.787 from white to something that?
00:35:24.597 --> 00:35:27.787 Else that's you highlight something, it becomes invisible.
00:35:29.057 --> 00:35:30.087 Huh. I didn't know that.
00:35:29.497 --> 00:35:29.907 Or.
00:35:31.067 --> 00:35:31.297 No.
00:35:31.087 --> 00:35:32.827 Well, uh, you know society either.
00:35:32.107 --> 00:35:32.797 Uh. When?
00:35:33.357 --> 00:35:35.467 I the only one OK, just me.
00:35:34.217 --> 00:35:36.895 When you. No. No. Yeah, that's a good. That's a good call out
00:35:36.895 --> 00:35:39.574 whenever, when, when. When does it turn invisible? Like what?
00:35:39.574 --> 00:35:41.907 What do I have to hear? Let me share my screen again.
00:35:41.027 --> 00:35:44.097 Well, it's like a look, uh, yeah.
00:35:46.267 --> 00:35:46.727 When you just.
00:35:48.367 --> 00:35:48.677 Cool.
00:35:48.367 --> 00:35:50.177 Saying to open the installer itself or.
00:35:50.527 --> 00:35:54.182 Uh, what was it? No, I thought that's not quite invisible. It's
00:35:54.182 --> 00:35:57.666 just difficult to. Yeah. There you go. It's difficult to see
00:35:57.147 --> 00:36:00.093 Ah, I see. When you click on it and then click something else,
00:35:57.666 --> 00:35:58.237 you there.
00:36:00.093 --> 00:36:00.327 yeah.
00:36:00.327 --> 00:36:00.997 Yep, Yep.
00:36:01.647 --> 00:36:03.367 Oh oh, cool.
00:36:01.987 --> 00:36:05.541 No, I see what you're saying. I see what you're saying. Well,
00:36:05.541 --> 00:36:06.917 that is pretty terrible.
00:36:07.857 --> 00:36:11.103 Yeah, some styling cleanup for sure. We'll be done. I mean,
00:36:11.103 --> 00:36:14.457 once it's not a tray like a tray icon. I can do some kind of.
00:36:15.317 --> 00:36:20.461 Rejiggering of this the the the UI got kind of compacted down a
00:36:20.461 --> 00:36:25.605 lot to in service of making this a trade tool. And so once it's
00:36:25.605 --> 00:36:28.177 an actual window, I can kind of.
00:36:29.747 --> 00:36:32.397 Expanded a little bit, make it a little bit easier to.
00:36:34.517 --> 00:36:35.217 To use.
00:36:36.087 --> 00:36:37.357 Clean up the style and whatnot.
00:36:36.097 --> 00:36:36.977 Also.
00:36:37.687 --> 00:36:42.062 Is it gonna be complicated if, like, uh, we wanted to do like a
00:36:42.062 --> 00:36:43.087 recycle button?
00:36:45.177 --> 00:36:48.203 Or recycle option where you know it just recycles out polls,
00:36:48.203 --> 00:36:51.278 turns them off, and then once they're all off, they turn back
00:36:49.177 --> 00:36:49.527 Ohh.
00:36:51.278 --> 00:36:51.427 on.
00:36:51.927 --> 00:36:55.801 The kill button will do that for you. It's it. It just turns the
00:36:55.801 --> 00:36:57.947 W 3 W it just nukes the WW process.
00:36:59.497 --> 00:37:01.978 And whenever it spins back up, it'll load new settings and
00:37:01.978 --> 00:37:02.987 everything like that so.
00:37:03.757 --> 00:37:05.317 Ah, OK.
00:37:05.217 --> 00:37:05.417 Yeah.
00:37:07.357 --> 00:37:07.827 Got it.
00:37:17.017 --> 00:37:19.880 Yeah, I mean, I guess while we have this open, anybody have
00:37:19.880 --> 00:37:20.977 anything else with the?
00:37:22.167 --> 00:37:25.837 Installer or other such things as that.
00:37:27.097 --> 00:37:28.217 While we're thinking about it.
00:37:41.247 --> 00:37:43.237 Sounds like no.
00:37:45.097 --> 00:37:46.777 Umm cool.
00:37:47.607 --> 00:37:51.383 Well, I guess I mean, I don't know if anybody else has
00:37:51.383 --> 00:37:53.237 anything question wise for.
00:37:54.187 --> 00:37:55.577 And he beckoned topics.
00:37:56.307 --> 00:37:58.930 Or front end. I don't know much about the front end, but I can
00:37:58.930 --> 00:37:59.097 try.
00:38:05.267 --> 00:38:06.657 If not, I.
00:38:08.277 --> 00:38:10.732 I'm sure I can think of something to monologue about
00:38:10.732 --> 00:38:10.917 for.
00:38:11.767 --> 00:38:12.707 33 minutes.
00:38:14.647 --> 00:38:17.307 Oh, I could. I was gonna ask you.
00:38:18.187 --> 00:38:21.317 If I wanted to add a new parameter for.
00:38:22.417 --> 00:38:23.807 Sorting and filtering.
00:38:25.007 --> 00:38:27.527 I could just add it in here. I don't need to actually like.
00:38:28.447 --> 00:38:32.268 Implement a whole like wall of stuff, because for instance,
00:38:32.268 --> 00:38:35.707 when you added the distancing to the task or project.
00:38:37.187 --> 00:38:38.357 It was just uh.
00:38:40.077 --> 00:38:43.475 One injection and that was your you only I think you updated
00:38:43.475 --> 00:38:45.147 maybe like two or three files.
00:38:45.967 --> 00:38:47.787 I saw you something relatively simple.
00:38:46.727 --> 00:38:50.645 It depends on what it depends on what functionality you're you're
00:38:50.645 --> 00:38:54.266 trying to customize. If you're customizing catalog filtering
00:38:54.266 --> 00:38:57.946 and sorting, there's a lot more involved, but if you're doing
00:38:57.946 --> 00:39:01.627 just like filtering and sorting of the database, then that's.
00:39:01.707 --> 00:39:04.117 The you can just do that with link.
00:39:05.197 --> 00:39:05.727 Umm.
00:39:05.487 --> 00:39:07.717 Oh, no, definitely catalog, OK.
00:39:07.407 --> 00:39:10.834 OK. Yeah. So that's a little bit more complicated just because
00:39:10.834 --> 00:39:10.997 of.
00:39:11.857 --> 00:39:14.067 Elastic search being elastic search but.
00:39:15.467 --> 00:39:17.977 Yeah, what you can do there is.
00:39:19.677 --> 00:39:21.967 Which I guess the easier place to show this would just be.
00:39:23.667 --> 00:39:32.616 Little task OQAQA. Whoops, not history. Where am I? I'm in the
00:39:32.616 --> 00:39:36.167 row override, that's why.
00:39:37.097 --> 00:39:38.627 That's why none of this makes sense.
00:39:40.137 --> 00:39:41.477 The Rover ride.
00:39:43.577 --> 00:39:47.857 Jobs. So the first thing you're gonna do is.
00:39:49.517 --> 00:39:52.007 We have to probably go look at the model.
00:39:53.007 --> 00:39:53.927 It's now actually.
00:39:54.837 --> 00:39:58.684 So if you're filtering or sorting by a field that's not
00:39:58.684 --> 00:40:03.219 already in the index, and you're going to go into the interfaces,
00:40:03.219 --> 00:40:05.967 workflows, providers, searching models.
00:40:07.337 --> 00:40:09.824 And and in this case with Tasco, it's probably gonna be job
00:40:09.824 --> 00:40:10.197 openings.
00:40:10.937 --> 00:40:13.877 And you open the job opening indexable model.
00:40:15.477 --> 00:40:18.297 And add whatever you need onto this to.
00:40:18.597 --> 00:40:19.147 Umm.
00:40:20.927 --> 00:40:21.857 Do the thing.
00:40:24.277 --> 00:40:25.567 It is also possible.
00:40:24.547 --> 00:40:26.527 Also, I have to yeah.
00:40:26.257 --> 00:40:29.023 So you would it depends. It may already be on there. If it's
00:40:29.023 --> 00:40:30.837 not, then you'd have to add it to this.
00:40:32.087 --> 00:40:36.251 And then back in the searching project itself, you'll need to
00:40:36.251 --> 00:40:40.146 store it on the index with the dump reader class, so this
00:40:40.146 --> 00:40:42.967 fantastic name makes me laugh every time.
00:40:44.287 --> 00:40:48.399 But the dump reader is basically the thing that reads data out of
00:40:48.399 --> 00:40:52.137 the SEV database and converts it into the structure that we
00:40:52.137 --> 00:40:53.757 actually store in elastic.
00:40:56.377 --> 00:40:59.027 So talking specifically about the.
00:41:01.357 --> 00:41:03.327 The distant stuff, since that's a good example.
00:41:04.527 --> 00:41:08.484 This is the part in the dump reader that actually stores the
00:41:08.484 --> 00:41:11.857 latitude and longitude onto a geocoordinate object.
00:41:12.587 --> 00:41:16.658 On the record, and that's a specific nest type that supports
00:41:16.658 --> 00:41:18.527 UM distance filter and sort.
00:41:19.547 --> 00:41:22.488 Uh so? But you know, other things may be different. You may
00:41:22.488 --> 00:41:25.478 probably have to just consult the nest documentation if it's
00:41:25.478 --> 00:41:28.027 not a simple field, it's like a number or a string.
00:41:28.437 --> 00:41:30.037 No, that's a string, so.
00:41:29.817 --> 00:41:33.798 OK, so but so then you store it on the the the dump on the in
00:41:33.798 --> 00:41:37.779 the index with the dump reader right here and then you've got
00:41:37.779 --> 00:41:41.825 your search module. If you're sorting by it, you would need to
00:41:41.825 --> 00:41:45.998 add an option to the search sort enum and then handle it in here
00:41:45.998 --> 00:41:49.787 so you can see how I did the distance one is it's sort dot
00:41:49.737 --> 00:41:51.017 Yeah, I can follow that one.
00:41:49.787 --> 00:41:53.062 Geo distance the field is coordinates, the unit is
00:41:53.062 --> 00:41:57.107 whatever you pass into the form distance type arc and then the
00:41:57.107 --> 00:42:01.217 points are whatever you passed in in the form for where you're.
00:42:01.347 --> 00:42:04.349 The distance this basically distance from sorted by
00:42:04.349 --> 00:42:07.756 ascending so closest to things come first and then it gets
00:42:07.756 --> 00:42:08.507 further away.
00:42:10.057 --> 00:42:14.519 So this that's the the fill the sorting and then for the actual
00:42:14.519 --> 00:42:18.912 querying. Let's see, it's down here somewhere. Returning query
00:42:18.912 --> 00:42:22.677 equal? Yeah, Geo distance? Single query modification.
00:42:24.297 --> 00:42:28.156 And that's built out under the base and then search module base
00:42:28.156 --> 00:42:30.447 dot mods dot Geo distance right here.
00:42:31.247 --> 00:42:35.854 And this is what that looks like. It's actively just adds
00:42:35.854 --> 00:42:40.699 nest. Has this really strange fluent API thing going on with
00:42:40.699 --> 00:42:45.227 this like and equals plus queue crap. I don't even know.
00:42:43.977 --> 00:42:44.927 My God.
00:42:45.947 --> 00:42:49.120 What they what they? How all this comes together. They've got
00:42:49.120 --> 00:42:52.036 a bunch of overridden operators. Make it as confusing as
00:42:52.036 --> 00:42:52.497 possible.
00:42:53.267 --> 00:42:57.397 Have you can't tell I hate nest and Elasticsearch but.
00:42:58.157 --> 00:42:59.617 Umm anyway.
00:43:00.807 --> 00:43:05.291 This builds the filter by Geo distance, so you can pass in a
00:43:05.291 --> 00:43:06.247 Max distance.
00:43:07.097 --> 00:43:08.227 And they uh.
00:43:10.057 --> 00:43:14.589 Uh, and the location to sort from, and the field to sort
00:43:14.589 --> 00:43:14.987 with.
00:43:16.147 --> 00:43:17.817 So that's kind of the process.
00:43:18.677 --> 00:43:23.730 In a very, very high level nutshell of getting new stuff
00:43:23.730 --> 00:43:27.187 into elastic for filtering or sorting.
00:43:28.367 --> 00:43:32.218 If I wanted to, hypothetically, I got this all in, how would I
00:43:32.218 --> 00:43:33.257 test it the same?
00:43:34.177 --> 00:43:35.907 Convoluted way. We did it last time.
00:43:37.627 --> 00:43:39.957 With postman and.
00:43:40.567 --> 00:43:43.981 Well, now that now that more stuff for the job catalog has
00:43:43.981 --> 00:43:47.512 been built out on Tasco, at least I think it has. You should
00:43:47.512 --> 00:43:51.215 just be able to index and test in the catalog and and you know,
00:43:51.215 --> 00:43:54.167 maybe easier to test with postman if you can just.
00:43:54.927 --> 00:43:57.827 So you can tailor the response exactly, but then you can just
00:43:57.827 --> 00:43:59.137 attach step through and see.
00:43:59.797 --> 00:44:01.627 But the result of each operation is.
00:44:02.907 --> 00:44:03.397 Got it.
00:44:06.367 --> 00:44:06.997 OK.
00:44:08.617 --> 00:44:09.687 Thanks for that cause I was.
00:44:11.327 --> 00:44:12.827 I was thinking of trying something.
00:44:14.197 --> 00:44:15.407 So I'll see what happens.
00:44:16.437 --> 00:44:17.017 Gotcha.
00:44:21.147 --> 00:44:21.977 Cool.
00:44:23.517 --> 00:44:25.407 Anyone else? Ohh yeah, go ahead.
00:44:23.537 --> 00:44:24.267 Umm so.
00:44:26.147 --> 00:44:29.867 Yeah, I'm. I'm loading it right now to make sure that I'm
00:44:29.867 --> 00:44:32.817 getting the same error I was getting earlier.
00:44:34.067 --> 00:44:37.987 I was trying to load like a by develop local.
00:44:39.847 --> 00:44:43.919 The storefront and I was getting a bunch of. Yeah, here they
00:44:43.919 --> 00:44:47.857 come. Like you can't find 400 airs, can't find the current
00:44:47.857 --> 00:44:52.129 car. Current user current card like all this. I don't know what
00:44:51.867 --> 00:44:56.449 Does the does the error message say something along the lines of
00:44:52.129 --> 00:44:52.797 I changed.
00:44:53.617 --> 00:44:54.087 I'll show you.
00:44:56.449 --> 00:44:58.917 could not locate file or assembly?
00:44:59.657 --> 00:45:03.165 And then like a path to that ends with datamodel.dll and it's
00:45:03.165 --> 00:45:06.221 trying to find it in like. See Windows INET server or
00:45:06.221 --> 00:45:06.787 something.
00:45:07.967 --> 00:45:09.717 Yeah. No, I don't think so.
00:45:10.897 --> 00:45:12.387 It's can I share it real quick?
00:45:11.047 --> 00:45:13.375 You can go ahead and yeah, if you yeah, go ahead share screen
00:45:13.375 --> 00:45:14.427 and yeah, we'll take a look.
00:45:16.867 --> 00:45:20.607 I think uh, also the questions I was asking you about the
00:45:20.607 --> 00:45:21.187 debugger.
00:45:22.027 --> 00:45:22.307 Umm.
00:45:22.427 --> 00:45:26.808 I think I was trying to debug files that weren't used by the
00:45:26.808 --> 00:45:28.747 process I was attaching to.
00:45:29.087 --> 00:45:31.966 Ah, see. You might have been attaching to the DNN one or
00:45:31.966 --> 00:45:34.947 something. You make sure to attach to like API storefront.
00:45:32.777 --> 00:45:34.227 I was attaching to the.
00:45:35.677 --> 00:45:39.478 Well, I was attached to the scheduler and I was trying to
00:45:38.997 --> 00:45:39.437 Uh.
00:45:39.478 --> 00:45:41.707 debug the the whole e-mail thing.
00:45:42.827 --> 00:45:47.071 So I I'm still struggling with that like emails being sent on
00:45:47.071 --> 00:45:51.109 the notification for product being in stock and I tried to
00:45:50.667 --> 00:45:51.257 Gotcha.
00:45:51.109 --> 00:45:55.147 get it out. I tried to run through a test on the developed
00:45:55.147 --> 00:45:57.817 demo site. Actually on that side note.
00:46:00.167 --> 00:46:02.917 And so I went into the admin.
00:46:04.127 --> 00:46:05.397 And I was.
00:46:07.637 --> 00:46:11.653 Trying to set a notification for a product that was out of stock,
00:46:11.653 --> 00:46:14.087 so I was going to change the number of.
00:46:17.017 --> 00:46:18.977 Products on the inventory.
00:46:19.457 --> 00:46:19.797 Yeah.
00:46:21.777 --> 00:46:22.657 And.
00:46:24.647 --> 00:46:25.157 Boom.
00:46:28.867 --> 00:46:31.667 Classic. And if you refresh the page, does it?
00:46:32.657 --> 00:46:34.887 Does it actually update the inventory or does it not?
00:46:35.427 --> 00:46:36.757 No, it does not.
00:46:37.187 --> 00:46:37.647 OK.
00:46:38.867 --> 00:46:41.667 Uh, so that is unfortunate.
00:46:41.137 --> 00:46:46.067 Yeah, it is that especially when I, you know I was trying to walk
00:46:46.067 --> 00:46:48.457 through it on the demo site too.
00:46:49.997 --> 00:46:54.807 See what the see what the e-mail generation was and the link but.
00:46:55.707 --> 00:46:59.897 Yeah. So that is something else that I found and.
00:47:02.077 --> 00:47:05.734 Yeah. So like as far as I can tell, all of the things that you
00:47:05.734 --> 00:47:09.564 told me to check or write as far as regarding the e-mail service,
00:47:09.564 --> 00:47:13.047 now that I'm, I haven't had a chance to walk through with a
00:47:13.047 --> 00:47:16.007 debugger. And now that I know that I can actually.
00:47:16.717 --> 00:47:21.948 You know, break point files that are being used by the scheduler
00:47:21.948 --> 00:47:26.938 and see, but I'm not getting e-mail queues and I went through
00:47:26.938 --> 00:47:31.687 the whole workflow of how an e-mail is created and queued.
00:47:32.807 --> 00:47:33.187 Umm.
00:47:32.907 --> 00:47:35.187 But it's not getting stored in my database.
00:47:35.757 --> 00:47:39.241 OK. So then so you'd want to attach to like API, storefront
00:47:39.241 --> 00:47:42.726 then and find the actual code that's supposed to queue that
00:47:40.297 --> 00:47:40.777 OK.
00:47:42.726 --> 00:47:45.107 e-mail and see why it's getting skipped.
00:47:46.157 --> 00:47:48.247 Yeah. So it's in.
00:47:46.757 --> 00:47:47.217 But.
00:47:49.167 --> 00:47:51.809 If we want, we can. We can look at your your local real quick
00:47:51.809 --> 00:47:53.557 and figure out what's going on with the.
00:47:55.787 --> 00:47:56.937 The error messages.
00:47:55.827 --> 00:47:57.477 Yeah, we'll do this first, yeah.
00:47:58.377 --> 00:48:02.351 Because I've I've found the I found the code where the emails
00:47:58.787 --> 00:47:59.967 Session too bad.
00:48:01.897 --> 00:48:02.297 OK.
00:48:02.351 --> 00:48:03.697 actually created and.
00:48:03.617 --> 00:48:03.967 Sure.
00:48:04.927 --> 00:48:07.257 Go into the network tab real quick.
00:48:05.277 --> 00:48:05.927 Stored.
00:48:07.347 --> 00:48:08.037 Yeah.
00:48:08.897 --> 00:48:10.907 Click on anyone of those failed calls.
00:48:11.507 --> 00:48:15.132 Uh previews and easier way to read it and then expand and
00:48:15.132 --> 00:48:16.007 scroll, right?
00:48:17.017 --> 00:48:19.367 And I we even looked this up in the.
00:48:19.577 --> 00:48:24.407 Wow, I've never seen that before. Socket failure on
00:48:20.627 --> 00:48:21.877 Got the stack trace.
00:48:24.407 --> 00:48:25.057 exists.
00:48:25.637 --> 00:48:27.927 Yeah, it's doing it on my task go local too.
00:48:25.877 --> 00:48:27.037 Yeah, I I thought.
00:48:28.257 --> 00:48:29.727 I thought it was pretty interesting.
00:48:29.687 --> 00:48:30.037 Huh.
00:48:30.937 --> 00:48:33.467 Yeah, I don't think I've ever seen that one before.
00:48:35.147 --> 00:48:39.007 Suck it. Failure on exists. Alright, well, let's ask.
00:48:41.497 --> 00:48:42.387 Consult the Oracle.
00:48:43.857 --> 00:48:44.287 Yeah.
00:48:45.597 --> 00:48:46.187 That's like a.
00:48:47.167 --> 00:48:50.010 Well, that that's gotta be like a Redis in Elasticsearch thing,
00:48:50.010 --> 00:48:50.277 right?
00:48:50.857 --> 00:48:52.197 I'm thinking it's Reedus.
00:48:51.177 --> 00:48:51.447 Is.
00:48:52.777 --> 00:48:54.327 Yeah, it's got. It's got to be Redis.
00:48:52.907 --> 00:48:54.807 Is your docker container OK?
00:48:55.547 --> 00:48:59.249 Ah, that's a good question. I do use Docker, let's check Docker
00:48:55.717 --> 00:48:57.447 Do you use Docker or the service?
00:48:59.249 --> 00:49:02.547 and make sure that it's a running. It should be running.
00:49:03.247 --> 00:49:06.742 I get a different error when I forget to have mine on it times
00:49:06.742 --> 00:49:10.070 out, Redis times out for 10 seconds, but I can't imagine it
00:49:10.070 --> 00:49:13.343 wouldn't just be completely random first based on like the
00:49:13.343 --> 00:49:15.507 Docker version and stuff, so you know.
00:49:15.527 --> 00:49:17.957 Man my.
00:49:16.327 --> 00:49:18.277 Maybe it'll say socket failure for you.
00:49:18.817 --> 00:49:22.257 My cabana. My cabana image isn't loading on Docker.
00:49:23.587 --> 00:49:25.902 Cabana would just be for troubleshooting it, though I I
00:49:25.902 --> 00:49:26.977 never even turned that on.
00:49:27.157 --> 00:49:27.557 OK.
00:49:27.227 --> 00:49:30.506 Yeah, I would. Yeah. You'd want to check the in this case, since
00:49:30.506 --> 00:49:33.482 it's failing on like current card, current user. Those are
00:49:33.482 --> 00:49:36.307 definitely gonna be things that are read out of Reedus.
00:49:37.277 --> 00:49:40.396 Says it's running on port 63. Seven. Yeah, you couldn't hurt
00:49:37.607 --> 00:49:39.177 You might want to recycle them.
00:49:37.977 --> 00:49:38.207 OK.
00:49:40.396 --> 00:49:43.157 to turn them off and back on. The old tried and true.
00:49:43.867 --> 00:49:44.427 Yeah.
00:49:44.597 --> 00:49:47.442 Yeah. Do you guys ever have an? I don't know if you guys use
00:49:47.442 --> 00:49:50.473 Docker or not, but you guys ever have an instance where you just
00:49:50.473 --> 00:49:53.317 load up Docker and one or two of these will be be gone? They
00:49:53.317 --> 00:49:54.017 won't be there.
00:49:55.367 --> 00:49:56.257 No, man.
00:49:55.947 --> 00:49:57.507 I mean I don't use Docker but.
00:49:56.427 --> 00:49:56.767 I.
00:49:56.467 --> 00:49:56.757 Like.
00:49:57.837 --> 00:49:59.787 I set mine to auto start so.
00:49:58.157 --> 00:49:59.317 Listen, I've used docker.
00:50:00.647 --> 00:50:03.457 I've used Docker quite a bit over the past year at my
00:50:03.457 --> 00:50:06.684 previous job and I never had that happen man, but didn't like
00:50:06.684 --> 00:50:09.806 the last month with this I used the Docker file from the. I
00:50:09.806 --> 00:50:12.981 guess I got it from new pleno from the article about setting
00:50:12.981 --> 00:50:15.947 up a local instance I use that Docker file to create my.
00:50:16.977 --> 00:50:20.658 Uh. Containers and whatnot, and this has happened to me like 3
00:50:20.658 --> 00:50:23.754 times. I've had to go in and recreate the images and
00:50:23.754 --> 00:50:27.260 container because I'll come in and like two of them will be
00:50:27.260 --> 00:50:30.766 gone. They just won't even be there anymore. Or one of them
00:50:30.766 --> 00:50:33.687 or, you know, like all of them was gone one time.
00:50:32.487 --> 00:50:33.087 I gotta.
00:50:34.037 --> 00:50:35.427 I got a quick question for you.
00:50:36.037 --> 00:50:36.417 Sure.
00:50:36.107 --> 00:50:40.016 Umm, so you're running Redis through docker, but you also use
00:50:39.487 --> 00:50:39.797 Yeah.
00:50:40.016 --> 00:50:41.907 the installer and I know that.
00:50:43.297 --> 00:50:47.721 I don't have these installer set up to detect Redis through
00:50:47.517 --> 00:50:52.011 Yeah, I had to manually turn that off and went in and on my
00:50:47.721 --> 00:50:48.237 Docker.
00:50:50.467 --> 00:50:50.857 OK.
00:50:52.011 --> 00:50:56.579 local. I turned off the check the because it just checks for
00:50:56.579 --> 00:50:58.077 the EXE file, right?
00:50:58.097 --> 00:51:01.055 Yeah, correct. Well, it also tries to run it and uh, and make
00:50:58.497 --> 00:50:58.987 The.
00:51:01.055 --> 00:51:02.677 sure that the output makes sense.
00:51:03.527 --> 00:51:04.087 OK.
00:51:03.767 --> 00:51:07.650 I mean, uh, I have both installed, so I think you should
00:51:04.217 --> 00:51:04.727 But.
00:51:07.650 --> 00:51:08.877 be good. I've had.
00:51:08.037 --> 00:51:11.536 That's what I was going to say is I was wondering if you had
00:51:11.536 --> 00:51:15.264 both the Docker version and the Windows version installed at the
00:51:15.264 --> 00:51:18.705 same time. If they're both trying to use port 6379 and it's
00:51:18.567 --> 00:51:19.177 Oh yeah.
00:51:18.705 --> 00:51:19.967 just confusing system.
00:51:20.397 --> 00:51:22.795 You can go into your task manager and services if you have
00:51:22.795 --> 00:51:23.567 that one installed.
00:51:23.047 --> 00:51:23.287 Yeah.
00:51:24.797 --> 00:51:26.987 Ohh, I don't think that I do.
00:51:29.717 --> 00:51:32.217 That's a good I don't even remember if I do now.
00:51:32.377 --> 00:51:36.279 Yeah, I think I did it because I the initial tutorial I got was
00:51:36.279 --> 00:51:40.120 this. Set it up through Docker and then the installer wouldn't
00:51:38.927 --> 00:51:40.357 It's just good to be called Redis.
00:51:40.120 --> 00:51:43.717 work without like the actual readers. So I had to install.
00:51:41.117 --> 00:51:41.697 Yeah.
00:51:44.297 --> 00:51:46.267 Now you don't have it, OK?
00:51:44.627 --> 00:51:45.157 Polls.
00:51:45.877 --> 00:51:47.497 It doesn't look like it, yeah.
00:51:49.217 --> 00:51:49.737 Yeah.
00:51:49.927 --> 00:51:50.447 Sorry, rich.
00:51:51.117 --> 00:51:54.668 Excellent. Typically start. I don't typically do Redis through
00:51:54.668 --> 00:51:56.247 the through dockers because.
00:51:57.427 --> 00:52:01.566 I'm old, I'm. I'm pretty somebody making that Docker
00:52:01.566 --> 00:52:06.642 documentation and so that Docker mentation if you will. And so I
00:52:06.642 --> 00:52:07.657 just use the.
00:52:10.507 --> 00:52:14.289 Yeah, like the last night Cabana was here, too, running. But
00:52:14.289 --> 00:52:16.707 today, I just. I hadn't opened Docker.
00:52:17.987 --> 00:52:20.919 I thought about checking Docker cause I didn't realize, you
00:52:20.919 --> 00:52:23.899 know, think about it being Redis issue. But yeah, the cabana
00:52:23.899 --> 00:52:25.707 image is not there. So I don't know.
00:52:28.047 --> 00:52:31.240 Type that is, but if it's not having an effect on this, we'll
00:52:31.240 --> 00:52:32.527 we'll look at that later.
00:52:35.367 --> 00:52:39.967 Yeah, so I looked this up in the table and let me see if I have
00:52:39.967 --> 00:52:41.117 will be open it.
00:52:42.077 --> 00:52:44.297 I have the stack trace from that.
00:52:45.027 --> 00:52:46.257 For a stack trace.
00:52:45.157 --> 00:52:46.107 That would be perfect.
00:52:48.117 --> 00:52:49.357 Ohh, wrong notepad.
00:52:53.577 --> 00:52:55.077 That's the stack trace right there.
00:52:55.917 --> 00:52:58.997 And it said it was happening. I put it in. Let me.
00:52:56.367 --> 00:52:56.917 OK.
00:53:00.867 --> 00:53:02.307 Yeah, you can. Yeah.
00:53:01.177 --> 00:53:02.827 This in Visual Studio.
00:53:03.347 --> 00:53:07.610 If you yeah, if you take just the the stack trace, you can put
00:53:07.610 --> 00:53:08.557 it in VS code.
00:53:09.357 --> 00:53:10.587 What's the line ran?
00:53:11.237 --> 00:53:16.087 19 so select the right after the open quote on line 19 of this.
00:53:18.887 --> 00:53:20.287 Like a right before the word at.
00:53:22.317 --> 00:53:23.937 The word I will right hear you.
00:53:24.047 --> 00:53:26.237 Yeah. And then hold shift and press end.
00:53:30.317 --> 00:53:32.497 Ohh I hit control and yeah.
00:53:30.487 --> 00:53:34.386 Uh, I think, yeah. So you had control and yeah, shift end and
00:53:34.237 --> 00:53:34.467 Yeah.
00:53:34.386 --> 00:53:37.467 then while still holding shift back arrow twice.
00:53:39.327 --> 00:53:41.497 OK. And then control X to cut that part?
00:53:42.947 --> 00:53:45.998 And then control A and control V to just replace everything in
00:53:45.998 --> 00:53:46.967 this file with that.
00:53:48.997 --> 00:53:52.250 OK. And then you can highlight the back slash R back slash N
00:53:52.250 --> 00:53:55.502 and then hold control D until all them are selected, and I'm
00:53:55.502 --> 00:53:58.755 pretty sure there's a way that you can auto select all them,
00:53:58.755 --> 00:54:02.168 but I don't. I don't know what it is. Just keep holding control
00:54:00.637 --> 00:54:00.987 The.
00:54:02.168 --> 00:54:05.527 D to select all the things and then press enter. Once you have
00:54:05.527 --> 00:54:06.647 them all highlighted.
00:54:07.917 --> 00:54:08.387 There we go.
00:54:08.417 --> 00:54:08.607 No.
00:54:08.907 --> 00:54:09.527 That's cool.
00:54:09.987 --> 00:54:13.307 OK, so we're looking at CART service.
00:54:10.267 --> 00:54:10.947 That is cool.
00:54:14.547 --> 00:54:18.601 Which calls pick up correct cart cookie which calls pickup
00:54:18.601 --> 00:54:22.517 shopping cart cookie which calls get session GUID async.
00:54:24.107 --> 00:54:24.947 And that's it.
00:54:26.027 --> 00:54:29.724 That's the end of the trace is to get session good. What line
00:54:29.724 --> 00:54:30.917 scroll to the right.
00:54:35.077 --> 00:54:39.028 Lady Commerce Service based 1562 and you're on develop right now,
00:54:39.028 --> 00:54:39.387 right?
00:54:39.847 --> 00:54:40.277 Yes.
00:54:40.807 --> 00:54:44.208 OK, let's take us a little look. See at Clarity, commerce
00:54:44.208 --> 00:54:44.677 service.
00:54:46.417 --> 00:54:49.567 Base was it 1562 or something like that?
00:54:50.177 --> 00:54:53.926 It's unbelievable. I was born in 1562. Yeah, it's gonna be 06.
00:54:50.357 --> 00:54:52.317 Yeah. Is it in? Is it in core?
00:54:53.797 --> 00:54:54.227 Generic.
00:54:53.926 --> 00:54:57.438 Clarity, Commerce, Service Corps. And the file is clarity,
00:54:57.438 --> 00:54:58.747 commerce service base.
00:54:59.567 --> 00:55:03.712 And then we'll just Scroll down to line 1500 and see what's
00:55:00.047 --> 00:55:00.817 It looks good.
00:55:03.712 --> 00:55:05.577 going on in that method 15.
00:55:06.517 --> 00:55:07.947 62.
00:55:07.537 --> 00:55:08.917 OK, you're 14.
00:55:09.317 --> 00:55:13.338 Yep, it calls into the cache client, so this is indeed a.
00:55:13.338 --> 00:55:14.447 Read this thing.
00:55:15.447 --> 00:55:15.897 OK.
00:55:17.637 --> 00:55:21.819 Plus, now Docker refresh, now all of them are back and off. I
00:55:21.819 --> 00:55:26.137 didn't even touch it. I just put it off the side of the screen.
00:55:28.017 --> 00:55:32.926 Now, look, I didn't even do nothing. And there's Kibana back
00:55:32.926 --> 00:55:34.697 and just recycled the.
00:55:35.187 --> 00:55:37.897 And now you have one more container on there you had.
00:55:35.567 --> 00:55:35.857 Huh.
00:55:37.987 --> 00:55:39.377 Yeah, the cabana 1.
00:55:41.457 --> 00:55:42.657 I don't know it just.
00:55:41.847 --> 00:55:42.657 OK, let's.
00:55:43.887 --> 00:55:44.597 And that crazy.
00:55:45.377 --> 00:55:46.567 That is very strange.
00:55:46.907 --> 00:55:49.147 I just moved it over on another screen. That's it.
00:55:50.947 --> 00:55:51.457 Uh.
00:55:50.997 --> 00:55:54.057 Well, obviously that screen had the cabana container.
00:55:54.367 --> 00:55:55.897 I guess, yeah.
00:55:55.357 --> 00:56:00.407 Just. Uh, OK, So what we can do, I guess now real quick.
00:56:03.197 --> 00:56:06.286 I'm curious since Docker seems to be having some trouble
00:56:06.286 --> 00:56:09.754 spinning those up. If you were to try and refresh the page now,
00:56:09.754 --> 00:56:11.867 if you would get a different response.
00:56:13.047 --> 00:56:15.417 Like if we'll just get a timeout like Jesse was saying.
00:56:17.997 --> 00:56:20.531 Because I that's what I would expect to see is a timeout on
00:56:20.531 --> 00:56:21.207 those endpoints.
00:56:20.607 --> 00:56:23.537 You get. Yeah, it's like it. It waits 10 seconds.
00:56:24.317 --> 00:56:28.900 For me, like if I don't have Redis running and I'm patient,
00:56:28.900 --> 00:56:33.407 you see an error about the timeout being 10 seconds. Yeah.
00:56:33.927 --> 00:56:37.037 Ohh yeah, that's the default. That's the cache connection
00:56:36.237 --> 00:56:36.667 Uh-huh.
00:56:37.037 --> 00:56:38.377 timeout thing. It's that.
00:56:37.707 --> 00:56:39.497 And there you have it. Well, maybe.
00:56:39.647 --> 00:56:43.598 OK, actually now we're getting two hundreds in your site is
00:56:41.297 --> 00:56:42.037 Paul.
00:56:43.157 --> 00:56:44.047 Nice.
00:56:43.237 --> 00:56:45.727 What did you do? You just restarted it.
00:56:43.598 --> 00:56:47.483 working so read is well. We. Yeah, we like we nuked Reedus
00:56:47.047 --> 00:56:47.697 It's not.
00:56:47.483 --> 00:56:47.747 and.
00:56:48.417 --> 00:56:51.607 Well, OK, we got some errors. Yeah, Scroll down a little bit.
00:56:48.697 --> 00:56:49.947 It's not back up yet.
00:56:51.337 --> 00:56:51.617 Yeah.
00:56:53.317 --> 00:56:54.127 Uh.
00:56:53.747 --> 00:56:56.257 Dockers having a real hard time over here.
00:56:55.737 --> 00:56:59.332 Yeah. So it looks like we got 200, OK, but they weren't
00:56:59.332 --> 00:57:02.927 actually 200. OK, so click on that storefront alt call.
00:57:01.277 --> 00:57:01.907 No.
00:57:03.307 --> 00:57:03.977 Yeah.
00:57:03.897 --> 00:57:05.187 In the network section.
00:57:06.717 --> 00:57:12.266 And there it is. It's it. Nice exceeded time. OK, well, that's
00:57:07.557 --> 00:57:11.950 Ohh that is. That's ritus. Yeah, so the ritus did time out. I
00:57:10.597 --> 00:57:10.887 Yeah.
00:57:11.950 --> 00:57:14.997 don't know why it said 20 seconds, but 10.
00:57:12.266 --> 00:57:13.147 good then.
00:57:15.397 --> 00:57:18.507 Who's? Who's to say it tries twice, I guess.
00:57:15.857 --> 00:57:21.546 Yeah. So you think I should, do you think I should just install
00:57:21.546 --> 00:57:22.257 the EXE?
00:57:21.857 --> 00:57:24.752 I I yeah, I would, I think, yeah, I think just using it
00:57:22.857 --> 00:57:24.637 Why not just use the service?
00:57:24.752 --> 00:57:27.647 locally and not using Docker would probably work better
00:57:27.257 --> 00:57:27.727 Yeah.
00:57:27.647 --> 00:57:30.749 because it seems like it seems like your Docker is having a
00:57:30.749 --> 00:57:32.197 real hard time figuring out.
00:57:32.067 --> 00:57:37.832 It is it, it'll say cannot start it, exit exit status code 1
00:57:32.857 --> 00:57:34.247 How to how to do stuff?
00:57:37.832 --> 00:57:42.557 cannot start. Docker compose is what it will say.
00:57:46.527 --> 00:57:47.157 Oh really?
00:57:49.807 --> 00:57:50.037 Yeah.
00:57:50.097 --> 00:57:53.767 Stuff. You're probably using the same exact containers as me, and
00:57:51.307 --> 00:57:51.717 Yeah.
00:57:53.767 --> 00:57:56.881 I've never had this kind of trouble, but I never update
00:57:55.957 --> 00:57:56.497 Yeah.
00:57:56.881 --> 00:57:57.827 because you know.
00:57:58.487 --> 00:58:01.282 They're just going to do this. They're just going to do this to
00:58:01.197 --> 00:58:04.527 So where can I get the EXE from?
00:58:01.282 --> 00:58:01.457 you.
00:58:05.337 --> 00:58:06.487 Spiritus download.
00:58:05.977 --> 00:58:08.598 You're so it's kind of complicated, but what you're
00:58:07.377 --> 00:58:08.407 I think I have it. Hang on.
00:58:08.598 --> 00:58:09.757 going to want to do is.
00:58:11.397 --> 00:58:13.137 Go to the dev dot Azure.
00:58:15.657 --> 00:58:19.422 Yeah, clarity ventures and once it loads, you'll go to Jeff
00:58:19.422 --> 00:58:22.937 products, you'll click the little orange if that works.
00:58:24.317 --> 00:58:28.167 On the repose go to files, so just mouse over repose and then
00:58:28.167 --> 00:58:32.203 files top change the Red Seth or like the orange stuff drop down
00:58:32.203 --> 00:58:33.507 to self dash configs.
00:58:34.977 --> 00:58:36.407 Go to documentation.
00:58:38.777 --> 00:58:42.653 And then click on the SEF setup or Windows Setup guide 2021-1 or
00:58:42.653 --> 00:58:45.217 really probably any of those has the link.
00:58:46.637 --> 00:58:49.097 And then you can go to preview to see it a little less ugly.
00:58:49.917 --> 00:58:52.637 I could send it to you too. I I found it. I haven't downloaded.
00:58:51.697 --> 00:58:54.870 Yeah, nice. And then you can just control F and type Redis in
00:58:54.870 --> 00:58:57.377 here and there should be a download link for it.
00:58:58.277 --> 00:58:59.867 Yep, right there. Just click that link.
00:59:02.277 --> 00:59:05.080 Will this work for? Do I have to have Elasticsearch in the? I
00:59:05.080 --> 00:59:07.567 don't have to have any Docker container either, right?
00:59:08.347 --> 00:59:11.328 You don't have to if you don't want to. If that one's working,
00:59:11.328 --> 00:59:12.937 I wouldn't really worry about it.
00:59:13.797 --> 00:59:14.207 It's OK.
00:59:14.157 --> 00:59:17.189 Then yeah, you'll just download the MSI. The Redis X64 MSI a
00:59:17.189 --> 00:59:19.277 little bit lower, actually, not that one.
00:59:20.397 --> 00:59:20.817 This one.
00:59:21.117 --> 00:59:23.731 Next one down like scroll, I like fully down the at three,
00:59:21.947 --> 00:59:22.417 So.
00:59:23.731 --> 00:59:24.617 two 100 right there.
00:59:25.487 --> 00:59:26.157 Umm.
00:59:27.117 --> 00:59:29.905 It's up a little bit higher. Yeah, that one. Uh, you'll
00:59:29.905 --> 00:59:31.747 expand that little assets drop down.
00:59:31.977 --> 00:59:33.207 Ohh oops.
00:59:34.007 --> 00:59:34.847 Click in two quick.
00:59:36.137 --> 00:59:37.927 And then the MSI? Yep.
00:59:39.247 --> 00:59:42.324 That's the one that'll install it for you locally, and then you
00:59:42.324 --> 00:59:45.065 can just kill that Redis container and or the. Yeah, the
00:59:45.065 --> 00:59:46.507 Redis container in Docker and.
00:59:47.737 --> 00:59:47.927 Yeah.
00:59:52.507 --> 00:59:54.057 I had an exceptional windows.
00:59:53.727 --> 00:59:56.207 You can. You can leave all the rest of this default.
00:59:59.807 --> 01:00:02.077 It's pretty handy. They'll add exception though.
01:00:02.717 --> 01:00:04.727 Windows firewall.
01:00:05.627 --> 01:00:05.917 Yeah.
01:00:07.567 --> 01:00:11.017 For all the for all the people still using Windows firewall.
01:00:13.637 --> 01:00:16.717 I mean the Windows Defender is pretty good now nowadays.
01:00:15.867 --> 01:00:18.237 Defender's not bad nowadays, yeah.
01:00:17.697 --> 01:00:17.987 Yeah.
01:00:18.177 --> 01:00:18.627 Yeah.
01:00:18.977 --> 01:00:23.167 I'm still I I'm still a little bit sour on good old windows.
01:00:23.867 --> 01:00:27.626 XP and seven firewall that was just like, hey, are you trying
01:00:27.626 --> 01:00:31.507 to do anything? Well, I'm gonna go ahead and just put a put the
01:00:31.507 --> 01:00:32.417 kabash on that.
01:00:34.837 --> 01:00:36.447 So it should already be running.
01:00:36.007 --> 01:00:38.067 Ohh yeah, yeah yeah OK.
01:00:36.527 --> 01:00:40.308 Umm yeah, it's just runs as a service, so you can just cancel
01:00:40.308 --> 01:00:40.857 this and.
01:00:41.827 --> 01:00:45.679 And as long as it's on that port, you're good now. Port
01:00:42.087 --> 01:00:43.377 See what happens when you.
01:00:44.117 --> 01:00:45.777 Yeah, should be able to, yeah.
01:00:45.679 --> 01:00:47.467 6379. You can change that.
01:00:46.647 --> 01:00:48.687 It'll just refresh here and see what happens.
01:00:57.867 --> 01:00:58.927 Start talking.
01:00:59.567 --> 01:01:03.288 I'm curious though, if it was working before, what cracked all
01:01:03.288 --> 01:01:03.997 of a sudden?
01:01:05.777 --> 01:01:07.247 No, it's a good question.
01:01:06.567 --> 01:01:09.981 Seems like something with that something with Docker, just who
01:01:09.981 --> 01:01:13.287 knows exactly what caused it, but Doctor just decided it was
01:01:12.727 --> 01:01:14.157 It's Microsoft, don't docker.
01:01:13.287 --> 01:01:13.937 being weird.
01:01:17.527 --> 01:01:18.207 I bet they do.
01:01:20.637 --> 01:01:23.252 He had translations are loading, so there's something wrong with
01:01:23.252 --> 01:01:24.137 the schedule for sure.
01:01:25.387 --> 01:01:28.464 That's probably because the last research is not the container's,
01:01:28.464 --> 01:01:29.117 not up, right?
01:01:36.817 --> 01:01:38.567 Reload docker here.
01:01:39.677 --> 01:01:43.164 Yeah, I would just, I would just turn Docker off if you have it
01:01:39.707 --> 01:01:40.057 Wait.
01:01:41.197 --> 01:01:41.777 Often.
01:01:43.164 --> 01:01:45.017 on right now. I just kill it and.
01:01:46.357 --> 01:01:49.027 Kill it and leave it off and then have it used to service.
01:01:50.027 --> 01:01:52.985 Well, that's trying to load it, so could you also open up the
01:01:52.985 --> 01:01:54.607 scheduler so you can see if like?
01:01:55.437 --> 01:01:57.067 Pretty sure to schedule was broken too.
01:01:58.067 --> 01:02:00.457 I mean, yeah, they're all using Redis, so that would make sense.
01:02:02.917 --> 01:02:05.047 Well, I don't know why it's not.
01:02:12.447 --> 01:02:16.242 Uh, it's not broken interesting because it just hanging because
01:02:15.787 --> 01:02:16.447 Well that.
01:02:16.242 --> 01:02:17.547 it was doing the jobs.
01:02:17.867 --> 01:02:21.307 The the Redis or the Hangfire dashboard probably will work
01:02:21.307 --> 01:02:24.981 fine, just because that's hang fire doesn't use Redis, but the
01:02:24.981 --> 01:02:27.897 actual tasks. If you try to trigger any of these.
01:02:25.327 --> 01:02:26.007 Ah.
01:02:29.387 --> 01:02:33.177 Some of them may or may not work. Who's who's to say?
01:02:32.867 --> 01:02:36.795 I came in yesterday I think, and I had like 8 failed and I had to
01:02:36.795 --> 01:02:40.307 clear them out and then they they come back on so I guess.
01:02:41.257 --> 01:02:43.537 Girls docker head like crashed on me.
01:02:44.457 --> 01:02:45.927 Yeah, it seems seems like it.
01:02:47.077 --> 01:02:47.787 Interesting.
01:02:52.427 --> 01:02:56.247 That's schedule. Did it just go through?
01:03:00.107 --> 01:03:02.957 I'll also click on PSA.
01:03:00.787 --> 01:03:01.217 Yeah.
01:03:04.257 --> 01:03:07.227 I ran into this issue of constantly having to dump my
01:03:07.227 --> 01:03:10.417 database every time I wanted to transfer stuff, so like I
01:03:10.417 --> 01:03:13.277 figured out a way to like dump specific tables. So.
01:03:14.507 --> 01:03:17.413 There's a whole nuclear article if you guys are interested or
01:03:17.413 --> 01:03:18.397 didn't know about it.
01:03:20.037 --> 01:03:23.147 Or for those of you didn't check the teams channel.
01:03:24.847 --> 01:03:25.957 Pretty handy stuff.
01:03:43.507 --> 01:03:45.277 Seated and now.
01:03:46.897 --> 01:03:48.317 That's that's the rudest thing, right?
01:03:53.157 --> 01:03:56.478 Yeah, that's the reddest timeout. So it's still not
01:03:56.478 --> 01:04:00.437 getting it. Go ahead and hit start and type services dot MSC.
01:04:02.197 --> 01:04:05.165 In this search, yeah, there it is. It's where it says app like
01:04:05.165 --> 01:04:05.777 services app.
01:04:06.607 --> 01:04:08.437 And then Scroll down in here and find Redis.
01:04:13.567 --> 01:04:15.467 It's not on right click it and hit start.
01:04:19.047 --> 01:04:21.007 There we go. OK, now refreshing. It should work.
01:04:22.187 --> 01:04:24.970 For some reason it didn't automatically start even though
01:04:24.970 --> 01:04:26.217 the start mode was set to.
01:04:26.937 --> 01:04:27.487 Automatic.
01:04:55.107 --> 01:04:56.297 It's spinning.
01:05:01.967 --> 01:05:04.317 Ohh yeah it is.
01:05:09.807 --> 01:05:10.857 Soaking your feet.
01:05:15.247 --> 01:05:18.657 I'm thinking for long enough that I'm not terribly confident.
01:05:19.487 --> 01:05:19.927 Yeah.
01:05:34.167 --> 01:05:40.177 We just stuck it stuck here. This never can I refresh this.
01:05:42.347 --> 01:05:43.597 Yeah, OK, it's running.
01:05:50.497 --> 01:05:51.927 Maybe it just took a second club.
01:05:55.297 --> 01:05:59.661 I'm will it automatically be configured for the correct port
01:05:59.661 --> 01:06:01.307 and so on and so forth?
01:06:04.237 --> 01:06:05.367 The 67.
01:06:06.417 --> 01:06:08.637 13 or whatever, 6913.
01:06:07.807 --> 01:06:11.947 60 Yeah, 6739 or whatever, I don't know. Whatever it is
01:06:11.947 --> 01:06:16.457 anyway. So, yeah, did it go back to the services real quick.
01:06:17.587 --> 01:06:20.448 Right click on radius and then refresh and see if it turned
01:06:20.448 --> 01:06:20.877 back off.
01:06:23.727 --> 01:06:24.297 It's running.
01:06:23.907 --> 01:06:24.217 No.
01:06:26.237 --> 01:06:30.176 It's a cooking something up. Alright, So what about on the
01:06:30.176 --> 01:06:30.977 other thing?
01:06:35.317 --> 01:06:37.027 Still spinning.
01:06:36.697 --> 01:06:37.407 That was funny.
01:06:39.157 --> 01:06:40.907 I'm glad you got that one, Jesse.
01:06:40.587 --> 01:06:42.687 It said that was funny.
01:06:44.877 --> 01:06:46.697 He's a cooking something up.
01:06:50.377 --> 01:06:51.397 Ohh.
01:06:50.517 --> 01:06:52.327 What's I don't get? I don't get the reference.
01:06:50.547 --> 01:06:51.337 It's bad.
01:06:52.717 --> 01:06:54.947 It's a old Family Guy.
01:06:53.507 --> 01:06:53.967 It's the.
01:06:55.477 --> 01:06:57.627 Yeah, it's it's just a me, me.
01:06:55.697 --> 01:06:56.367 Ohh.
01:06:58.277 --> 01:06:59.087 A meme.
01:07:01.927 --> 01:07:05.327 Alright, well this is not going nowhere fast.
01:07:04.437 --> 01:07:05.137 He is a gift.
01:07:04.517 --> 01:07:07.341 Yeah, it's it's going. It's going nowhere really fast.
01:07:07.341 --> 01:07:10.730 Scroll down real quick to see if any of the other calls have come
01:07:10.730 --> 01:07:13.297 back, but I'm guessing they're all pending. Yeah.
01:07:13.547 --> 01:07:13.857 Yeah.
01:07:14.787 --> 01:07:15.437 Welp.
01:07:16.087 --> 01:07:18.867 Lance sucks. Let's see if we can't figure out.
01:07:19.937 --> 01:07:20.887 Why?
01:07:21.617 --> 01:07:22.417 That.
01:07:23.537 --> 01:07:24.247 Is.
01:07:33.557 --> 01:07:34.237 Don't, don't.
01:07:37.247 --> 01:07:39.127 That's obviously not timing out.
01:07:40.237 --> 01:07:44.405 Or it would have timed out. It would have done that. Now it's
01:07:42.257 --> 01:07:42.777 That's like.
01:07:44.405 --> 01:07:45.077 it's just.
01:07:45.807 --> 01:07:48.117 Thinking very hard, yeah.
01:07:46.047 --> 01:07:47.377 Lupine or something?
01:07:49.107 --> 01:07:51.067 Like turn it on your service or something now.
01:07:49.377 --> 01:07:49.957 Uh.
01:07:51.937 --> 01:07:54.477 Is this possible now that it's it's doing the whole?
01:07:56.597 --> 01:07:59.499 It it's actually working but it's doing the really slow data
01:07:59.499 --> 01:08:01.117 model migrations issue thing now.
01:08:02.297 --> 01:08:04.709 Actually, you know, storefront always works. It doesn't do
01:08:02.847 --> 01:08:03.697 Ah.
01:08:04.709 --> 01:08:05.977 anything in data model related.
01:08:04.867 --> 01:08:07.836 Yeah, the count and the counter endpoint, that new one,
01:08:07.836 --> 01:08:11.229 literally all that endpoint does is reads data from elastic. It
01:08:07.877 --> 01:08:08.247 Yeah.
01:08:11.229 --> 01:08:14.570 doesn't touch the context, so it shouldn't incur the load time
01:08:12.747 --> 01:08:13.347 Yeah.
01:08:14.570 --> 01:08:15.047 for that.
01:08:16.117 --> 01:08:16.937 So I don't.
01:08:16.327 --> 01:08:17.217 From a lastic.
01:08:18.377 --> 01:08:21.987 Uh sorry from Redis, not yeah, I meant I meant Redis.
01:08:18.977 --> 01:08:20.767 This reads ohh OK.
01:08:22.957 --> 01:08:27.935 Heaven brain melts. It is. It is almost 5:00. O'clock almost 6:00
01:08:27.935 --> 01:08:31.027 o'clock for you. You, you Eastern folks.
01:08:28.477 --> 01:08:29.087 Yeah.
01:08:31.037 --> 01:08:34.813 I'm gonna go and make a hurricane like the song and like
01:08:34.813 --> 01:08:35.807 the East Coast.
01:08:36.767 --> 01:08:37.297 I get it.
01:08:36.907 --> 01:08:37.487 Yeah.
01:08:39.847 --> 01:08:41.677 Like the big water tornado.
01:08:44.017 --> 01:08:44.307 Like.
01:08:44.407 --> 01:08:45.057 So what you think?
01:08:46.757 --> 01:08:48.547 I think.
01:08:48.717 --> 01:08:51.210 Is this so the service is running? You guys already saw
01:08:51.210 --> 01:08:52.367 that in your task manager?
01:08:51.287 --> 01:08:55.411 Yeah, we checked that and I, yeah, and refreshed it to make
01:08:51.717 --> 01:08:53.857 Yes, services running for sure.
01:08:54.697 --> 01:08:55.827 Dockers off.
01:08:55.411 --> 01:08:57.267 sure. And Docker we killed.
01:08:56.827 --> 01:08:59.537 Dockers off yes, yes.
01:08:58.387 --> 01:09:02.038 And you're you're another Redis desktop manager. Connects to it,
01:09:02.038 --> 01:09:04.117 right? Your your tool that you have.
01:09:03.077 --> 01:09:05.307 Yeah, that's a good. That's a good thing to test. Let's try
01:09:05.307 --> 01:09:06.757 that. Yeah. I didn't think about that.
01:09:06.727 --> 01:09:07.617 I don't know.
01:09:08.307 --> 01:09:11.480 And it just all with defaults like. You should just be able to
01:09:10.537 --> 01:09:13.047 Yeah, yeah. Just click on that first one.
01:09:11.480 --> 01:09:13.897 open right there at 6379 is the important part.
01:09:14.427 --> 01:09:14.647 Yeah.
01:09:15.367 --> 01:09:16.957 No data, but it connected.
01:09:15.777 --> 01:09:19.907 OK, well, that it connected. Yeah, it says it's has all of
01:09:18.127 --> 01:09:21.157 And it it reads the version and everything, yeah.
01:09:19.907 --> 01:09:20.607 the stuff.
01:09:22.357 --> 01:09:24.747 Redis version 3.7 whatever.
01:09:24.687 --> 01:09:25.007 Yeah.
01:09:25.447 --> 01:09:25.907 OK.
01:09:25.987 --> 01:09:27.467 The two 100.
01:09:26.987 --> 01:09:27.917 So.
01:09:30.997 --> 01:09:33.607 Interesting. It says connected clients 12.
01:09:36.737 --> 01:09:38.067 Used memory.
01:09:39.097 --> 01:09:42.694 Do you have? What are your apps? There's not like an app setting
01:09:39.997 --> 01:09:41.137 Almost a MB.
01:09:42.694 --> 01:09:46.126 thing that you have that set that's doing Reedus like now and
01:09:46.126 --> 01:09:48.949 now nobody would have that unless they typed it in
01:09:47.737 --> 01:09:51.317 It could be worth a check. Well, it could be worth a check. Uh,
01:09:48.949 --> 01:09:49.447 manually.
01:09:51.317 --> 01:09:53.667 open up your app settings for your local.
01:09:54.727 --> 01:09:57.837 Be probably environment, but we can check them both.
01:09:58.997 --> 01:09:59.637 It would be.
01:10:00.257 --> 01:10:04.762 See. Yes, nothing in here. Alright, so back to client and
01:10:04.762 --> 01:10:09.655 then control for just cache or CACH just in case it's cache or
01:10:09.655 --> 01:10:10.277 caching.
01:10:13.337 --> 01:10:14.547 Remove the E real quick.
01:10:16.507 --> 01:10:21.378 On the search. OK, you got one that just makes the timeout span
01:10:21.378 --> 01:10:21.987 2 hours.
01:10:25.037 --> 01:10:25.317 Yeah.
01:10:26.197 --> 01:10:26.657 Hmm.
01:10:28.927 --> 01:10:29.387 Point on.
01:10:31.987 --> 01:10:33.127 What? Jesse, you cut out?
01:10:32.027 --> 01:10:32.637 Is going on.
01:10:33.517 --> 01:10:35.807 You have a break point on your attached.
01:10:36.537 --> 01:10:38.327 I I don't think we're attached, are we?
01:10:37.627 --> 01:10:40.127 No, no, no.
01:10:40.007 --> 01:10:40.747 No.
01:10:40.057 --> 01:10:43.784 OK, we're not attached. I would just kill kill the app pools and
01:10:43.784 --> 01:10:44.587 and try again.
01:10:45.987 --> 01:10:48.187 You can just literally click the kill button down the networks
01:10:48.187 --> 01:10:48.327 too.
01:10:49.687 --> 01:10:50.187 Yeah.
01:10:50.047 --> 01:10:52.807 Yeah, if that search box is empty and you click kill, it'll
01:10:52.807 --> 01:10:53.037 just.
01:10:53.917 --> 01:10:54.547 Kilmore.
01:10:54.647 --> 01:10:55.297 Wipe them off.
01:10:55.807 --> 01:10:56.167 Now.
01:10:56.597 --> 01:10:59.407 Who put the skull and crossbones? Because I love it.
01:11:00.217 --> 01:11:01.347 I believe that was James.
01:11:03.407 --> 01:11:05.197 Killed them to look at least.
01:11:05.147 --> 01:11:08.699 Just get you guys a little bit of joy and the killing things I
01:11:08.699 --> 01:11:09.037 guess.
01:11:10.827 --> 01:11:14.157 I kill things all the time. App pools only though.
01:11:13.237 --> 01:11:13.627 Do you?
01:11:14.917 --> 01:11:16.337 Umm OK.
01:11:15.937 --> 01:11:18.347 Not anything, not anything with the soul.
01:11:19.137 --> 01:11:20.737 App pools are allowed to be killed.
01:11:21.157 --> 01:11:21.587 Yes.
01:11:23.667 --> 01:11:24.767 Encouraged even.
01:11:29.657 --> 01:11:30.997 It's just like zombies.
01:11:31.777 --> 01:11:33.027 They'll just keep coming back.
01:11:32.017 --> 01:11:32.857 Ohh.
01:11:33.367 --> 01:11:36.060 Hey, wait a minute. That seemed like it did something. What's
01:11:35.867 --> 01:11:36.547 What you do?
01:11:35.997 --> 01:11:39.107 It did something for sure. All I did was cycle the.
01:11:36.060 --> 01:11:37.277 that? Counter and point say.
01:11:38.037 --> 01:11:38.687 Yeah.
01:11:39.527 --> 01:11:42.057 OK, click on click on store front alt real quick.
01:11:42.307 --> 01:11:45.277 So all good. Now it's done.
01:11:43.247 --> 01:11:44.457 Hey look, data.
01:11:45.187 --> 01:11:45.897 Yeah.
01:11:45.297 --> 01:11:47.027 Yay, OK.
01:11:46.067 --> 01:11:47.857 Just had to turn off and back on again.
01:11:48.237 --> 01:11:51.737 Well, you know the classic nuke it and try again.
01:11:48.597 --> 01:11:49.237 Yeah.
01:11:50.497 --> 01:11:52.767 So so Ritas is working.
01:11:53.857 --> 01:11:56.879 Uh is elastic working though if you click on the search button
01:11:56.879 --> 01:11:57.407 at the top.
01:11:59.327 --> 01:12:00.117 Ah.
01:11:59.427 --> 01:12:01.895 By the way, just as a pro tip, you could just click the search
01:12:01.895 --> 01:12:04.363 button without typing anything into the bar and it'll take you
01:12:04.363 --> 01:12:05.617 to the catalog just straight in.
01:12:05.737 --> 01:12:07.057 Hmm. Ohh.
01:12:06.017 --> 01:12:06.477 Really.
01:12:07.097 --> 01:12:10.310 Yeah, I've done that for as long as I've been here. That's been
01:12:07.817 --> 01:12:08.327 Wow.
01:12:09.467 --> 01:12:10.737 Ohh, you mean the?
01:12:10.310 --> 01:12:13.524 my short. My catalog shortcut. Yeah. You just click on that and
01:12:13.357 --> 01:12:13.997 Wow.
01:12:13.524 --> 01:12:14.227 goes right in.
01:12:15.607 --> 01:12:16.497 I don't think it's working.
01:12:17.337 --> 01:12:18.077 Probably not.
01:12:19.367 --> 01:12:21.897 Because you had elastic in Docker and we killed Docker.
01:12:21.557 --> 01:12:23.097 Yeah, yeah.
01:12:23.367 --> 01:12:24.407 We killed it.
01:12:25.047 --> 01:12:25.407 Done.
01:12:26.217 --> 01:12:28.837 And that would what that would be this.
01:12:26.387 --> 01:12:26.627 Yeah.
01:12:29.517 --> 01:12:30.487 Socket error.
01:12:30.947 --> 01:12:31.757 Correct.
01:12:32.137 --> 01:12:33.427 Ohm so.
01:12:32.887 --> 01:12:35.442 Is it still saying the same thing if you click on the query
01:12:35.117 --> 01:12:35.557 Ohh.
01:12:35.442 --> 01:12:36.337 page equals whatever.
01:12:37.237 --> 01:12:38.477 What dat say though?
01:12:39.797 --> 01:12:42.229 The other areas are fine, that just because you're not logged
01:12:42.229 --> 01:12:42.347 in.
01:12:43.727 --> 01:12:46.667 Yeah. OK, that's fine. Yeah, that's just gonna 404.
01:12:43.837 --> 01:12:44.847 No since then.
01:12:45.897 --> 01:12:46.147 Yeah.
01:12:47.447 --> 01:12:51.447 Or connection refused since it's on non HTTP port.
01:12:52.097 --> 01:12:54.434 OK, those ones are fine. Those two? Yeah, the current user in
01:12:52.337 --> 01:12:53.417 Those two are going on.
01:12:54.434 --> 01:12:56.507 the list, those are just because you're not logged in.
01:12:57.297 --> 01:12:58.027 Umm.
01:12:57.887 --> 01:12:58.337 Actually.
01:12:59.567 --> 01:13:02.247 Umm. So let me take that.
01:13:03.797 --> 01:13:07.265 Read this. I'm gonna start up Docker and take that Redis
01:13:07.265 --> 01:13:08.117 container out.
01:13:09.457 --> 01:13:11.747 And leave elastic ready.
01:13:12.817 --> 01:13:13.597 It sound like a.
01:13:16.607 --> 01:13:20.180 That works if you run the. Yeah, if you're. If you just want to
01:13:16.727 --> 01:13:17.297 Sound like a.
01:13:18.457 --> 01:13:18.717 Sorry.
01:13:20.180 --> 01:13:23.642 run elastic through Docker. If you run into other issues with
01:13:23.642 --> 01:13:27.270 Docker, you can just set up some office hours with me and we can
01:13:27.270 --> 01:13:30.509 get elastic just installed normally without Docker and we
01:13:30.509 --> 01:13:32.407 can just kick Docker to the curb.
01:13:32.567 --> 01:13:33.887 It's really easy to install.
01:13:32.827 --> 01:13:33.637 Yeah, that's probably.
01:13:34.607 --> 01:13:36.965 Yeah, it's not. Not that it's complicated, but just to make
01:13:34.907 --> 01:13:36.417 That's probably what I'll either do.
01:13:36.965 --> 01:13:39.166 sure that we get it all set up right and if there's any
01:13:39.166 --> 01:13:40.227 troubleshooting to do that.
01:13:41.007 --> 01:13:42.137 Will be all ready to go.
01:13:41.997 --> 01:13:45.126 If it's not, it's already 6:00. O'clock. OK, yeah, we'll do
01:13:45.126 --> 01:13:45.387 that.
01:13:49.677 --> 01:13:50.287 Ohh.
01:13:51.897 --> 01:13:55.032 Now that I know the issue, I think that I can at least go
01:13:55.032 --> 01:13:58.167 from here. If you guys wanna bounce. Like I said, it's 6.
01:13:56.167 --> 01:13:56.727 Yeah.
01:13:57.647 --> 01:14:01.135 Cool. And yeah that that Windows setup guide if you do decide you
01:14:01.135 --> 01:14:04.465 wanna try to install elastic and everything outside of Docker,
01:14:04.465 --> 01:14:07.637 there's a download link and instructions in that guide too.
01:14:08.467 --> 01:14:11.797 Awesome. Yeah, right. The thanks.
01:14:12.817 --> 01:14:19.565 No problem. Thank you everyone for your questions and things to
01:14:19.565 --> 01:14:19.987 fix.
01:14:20.057 --> 01:14:23.297 Yes, uh. Hopefully this was a productive.
01:14:24.427 --> 01:14:25.037 Yeah.
01:14:26.487 --> 01:14:27.047 Thank you.
01:14:27.027 --> 01:14:29.387 I got a lot out of it. I don't know about anybody else.
01:14:28.717 --> 01:14:33.007 Sweet. Well, good, that's all. That's all we need.
01:14:35.547 --> 01:14:38.975 Cool. Alright, I will talk to you all next week. Have a great
01:14:38.975 --> 01:14:39.417 weekend.
01:14:41.067 --> 01:14:41.557 Thanks man.
01:14:41.757 --> 01:14:43.267 Yeah, have a good weekend, guys.
01:14:42.577 --> 01:14:42.907 See you.
01:14:43.107 --> 01:14:43.577 We can guess.
01:14:44.147 --> 01:14:44.477 Yes.