Laravel QueueWorker: database not configured

Posted on 4. November 2019 Comments

It doesn’t matter which queue system you’re using: Redis, a relational database such as MySQL or a cloud solution like AWS SQS ; you can always store failed jobs in a normal database table. This configuration is done in config/queue.php in the last array:

'failed' => [
    'driver' => 'database',
    'database' => 'default', // NOTE: connection, not database!
    'table' => 'jobs_failed',

The key is to put in the connection name, not the database name for ‚database‘. If you don’t you will get the error message „Database default not configured“ every time a job fails instead.

Check out my Laravel Job Eloquent Models.

Laravel Dusk: The currently authenticated user is not who was expected.

Posted on 31. Oktober 2019 Comments

If you’re having trouble using $browser->loginAs($user) it might be because the SESSION_DRIVER is set to array. So even this simple code will fail:

$this->browse(function (Browser $browser) {

Error: The currently authenticated user is not who was expected.
Failed asserting that two arrays are identical.


Write a .env.dusk.local (or where ever you’re starting the tests from) and use a persistent driver like SESSION_DRIVER=database or SESSION_DRIVER=file

Crawling with Web Storage in PHP

Posted on 28. September 2019 Comments

Some pages have an extra screen before the real site appears, e.g. for age verification (like porn, for now anyways, or drug sites) or country/currency selection (like travel and big company sites). As far as I researched this, sometimes the selection is stored in a cookie, sometimes in Web Storage.

Crawling with Cookies is no problem with Guzzle.

But for example, at the age verification is stored in the Local Storage as you can see in the Chrome DevTools:


Using spatie/crawler we can inject a Browsershot (puppeteer) instance, that sets the localStorage key ageConfirmed through custom JavaScript:

$js = "localStorage.setItem('ageConfirmed', '1');";
$browsershot->setOption('addScriptTag', json_encode(['content' => $js]));

However, the code is only injected after the side is already loaded. Therefore we have to use JavaScript to reload the page:

$js = "localStorage.setItem('ageConfirmed', '1');location.reload()";
$browsershot->setOption('addScriptTag', json_encode(['content' => $js]));

You can test this on the console e.g. by using ->save($pathToFile); and have a look at the screenshot to see if it worked.

Connect SequelPro with DigitalOcean Managed MySQL 8.0.X

Posted on 19. September 2019 Comments

ALTER USER 'doadmin' IDENTIFIED WITH mysql_native_password BY 'secret_password';

Change ’secret_password‘ to the password given to you by DigitalOcean.

The reason behind this is that SequelPro and other MySQL Clients only work with the old (5.X) way of MySQL authentication vs. the new (8.X) caching_sha2_password. It has nothing to do with the MySQL version itself as Sequel Pro seems to work just as well with version 8.X. You can find more information in the MySQL documentation.

Traveling from Asunción to Clorinda and back

Posted on 23. Juli 2019 Comments

There is very little (English) information on the internet about how to travel from the Paraguayan capital Asunción to the little town Clorinda, just across the border. Since I don’t have a travel blog but this ranks fairly well, I thought I’d put it up. The only thing I could find, apart from TripAdvisor and LonelyPlanet posts from 10y ago, is this article in Spanish from

There are (at least) 2 border crossings and I recently did both. I imagine they work they same the other way around.

Puerto Falcón/José Falcón

  1. Go to the main bus station, Terminal the Omnibus Asunción, but don’t go inside. There are a few food stands outside on the Avenida República Argentina where buses regularly stop, going north. Just stand there for a while and wait until a bus comes that says „Puerto Falcón“ on the side. If you’re unsure, just say those 2 words to the driver and he will most likely nod. The trip is 6000 PYG, which at the time of writing is ~1 USD. This bus had air conditioning. It seems to depart at Mercado but I’m not sure about that.
  2. The bus takes you up the road past the airport and then takes a turn west across the Rio Paraguay on the bridge Puente Remanso. Driving through the city, especially in traffic, is a bit geographical nonsense, as you can see on the map. But it does get you there.
  3. Everybody will have to get out at the border station in Puerto Falcón. You then cross the river over the bridge into Argentina already, no need to do anything on the Paraguayan side.
  4. On the Argentinian side of the bridge, go to the very right. You will find 2 immigration offices there where you get your exit stamp from Paraguay and your entry stamp from Argentina. It took less than 2 minutes.
  5. Go a little further to the next street crossing, past the taxis. To the left there will be a dirt road that goes into town (in case you want to walk) but every now and then a pretty run down bus comes by. It’s 5000 PYG (~0.84 USD) to go to the center of Clorinda and takes about 10-15 minutes. It also goes past the western part of town, Juan Domingo Peron. The taxis waiting there seem to be expensive, to make sure not agree on a price before and not get ripped off.

Buses to the border depart from outside the central bus station
Buses to the border depart from outside the central bus station
Dirt road to Clorinda Center, if you want to walk ~2km
Dirt road to Clorinda Center, if you want to walk ~2km
Pretty run down bus that goes from the border to Clorinda Central for 5000 PYG
Pretty run down bus that goes from the border to Clorinda Central for 5000 PYG

Nanawa / Puerto Elsa

  1. Go to the Cruce Fronterizo in Clorinda. You will either walk down the riverside and see a pretty colorful bridge (s. picture) or come from a small market hall, where you can see the immigration office at the end.
  2. Go to immigration and get an exit stamp from Argentina and an entry stamp from Paraguay! It’s possible to cross into Paraguay without it, but you need that stamp, especially if you got a stamp in Puerto Falcón. Otherwise you will have problems leaving Paraguay again via any other border station, including the airport.
  3. Cross the colorful bridge Pasarela de la Amistad Clorinda – Nanawa through the markets.
  4. Turn left and walk up the riverside past the Casino. Then turn right to the Terminal de Omnibus Puerto Elsa. This is not the Terminal de Omnibus Clorinda (that would be in Argentina – this is Paraguay already on the other side of the river). It’s not on Google Maps but OpenStreetMap (e.g. will have it. In fact, it doesn’t look like a terminal at all. Just a roof some some dude making hamburgers and some chickens running around. But there will most likely be a bus waiting. They seem to be run in the collectivo way – so they only go when they’re full, not with a specific schedule. And people also sometimes referred to these quite big buses as collectivo. Not exactly what you might know as a collectivo from Central America.
  5. The bus line is 101 but there are apparently different versions that end up in different places, like 101A and 101B. Mine was 101A and left me at the famous Mercado 4 and did not go to the central but station. Again, the bus was 6000 PYG (~1USD). In the evenings/night it’s apparently not the safest place so make sure you can either take an Uber or take enough cash for a taxi to get home. Also, it had no air conditioning and is a lot more like the chicken buses in LatAm, drives slow and stops at every little house on the road. It’s good fun though and the locals are super friendly!
Make sure to get your passport stamps before crossing the bridge - even though there are no controls.
Make sure to get your passport stamps before crossing the bridge – even though there are no controls.
Bridge between Clorinda, AR and Nanawa, PY
Bridge between Clorinda, AR and Nanawa, PY
Línea 101A back to Asunción Mercado 4
Línea 101A back to Asunción Mercado 4

Ferry Puerto Pilcomayo – COPANATRA Servicio de balsas

There is one report about a ferry and timetables on Facebook but I asked around and the ferry doesn’t seem to run on Saturdays, probably not the whole weekend.

A few notes on Clorinda

This little town with some odd 40k inhabitants is pretty dead. There’s apparently one hotel, one ATM (though Paraguayn Guaranís/PYG are accepted everywhere, even on the bus!), a few shops selling mostly things like dog food or mate in bulk, a few mum and pop supermarkets. I didn’t see an open café or restaurant, but it might’ve been the time of day. There’s nothing for sightseeing and if you want to travel to e.g. Buenos Aires I’d suggest taking to long distance Bus directly from Asuncións Bus Terminal. It will take the same route anyways but is way less hassle. On the Nanawa side, there’s an interesting market, but selling mostly cheap stuff from China and some local produce – and of course, Mate and accessories. It’s ok for an afternoon or to get the passport stamp to check off the country – although I highly encourage everybody to travel in Patagonia extensively and visit Buenos Aires – this is not the way to see Argentina 😉