Muay Thai is a combat sport from the muay martial arts of Thailand that uses stand-up striking along with various clinching techniques. This physical and mental discipline which includes combat on foot is known as "the art of eight limbs" because it is characterized by the combined use of fists, elbows, knees, shins and feet, being associated with a good physical preparation that makes a full-contact fighter very efficient. Muay Thai became widespread internationally in the twentieth century, when practitioners defeated notable practitioners of other martial arts. A professional league is governed by the World Muay Thai Council.
Formal muay Thai techniques are divided into two groups: "mae mai" or major techniques and "luk mai" or minor techniques. Muay Thai is often a fighting art of attrition, where opponents exchange blows with one another. This is certainly the case with traditional stylists in Thailand, but is a less popular form of fighting in the contemporary world fighting circuit where the Thai style of exchanging blow for blow is no longer favorable. Almost all techniques in muay Thai use the entire body movement, rotating the hip with each kick, punch, elbow and block.
As a tactic, body punching is used less in Muay Thai than most other striking combat sports to avoid exposing the attacker's head to counter strikes from knees or elbows. To utilize the range of targeting points, in keeping with the center line theory, the fighter can use either the Western or Thai stance which allows for either long range or short range attacks to be undertaken effectively without compromising guard.
Muay Thai, like Boxing and various forms of Kickboxing, is recognized as a very effective striking base within MMA and is very widely practiced among mixed martial artists. Fighters (some of whom have won titles) such as Maurício Rua, Wanderlei Silva, Thiago Silva, Gina Carano and Cristiane Santos employ a broad range of tactics born of Muay Thai. Countless other mixed martial artists have trained in the art and it is often taught at MMA gyms as is BJJ and Wrestling.
Many techniques associated with Muay Thai are often seen in MMA, such as punches, elbows, clinch fighting, high kicks, leg kicks and knees.


text:
Q: Quartz.Net, SQL Server, jobs stuck as BLOCKED I have searched everywhere and have found nothing useful for me.
I have Quartz.Net 2.5. I use cluster mode and persist my jobs using SQL Server.
Sometimes I get exception like this and my job is stuck in BLOCKED state.
How to correct configuration or change code to solve problem with stopped job?
2017-08-04 00:53:17,981 (47972313) [iikoNetScheduler_QuartzSchedulerThread] ERROR - Couldn't rollback ADO.NET connection. Transaction not connected, or was disconnected
System.Data.DataException: Transaction not connected, or was disconnected
   at Quartz.Impl.AdoJobStore.JobStoreSupport.CheckNotZombied(ConnectionAndTransactionHolder cth) in c:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3591
   at Quartz.Impl.AdoJobStore.JobStoreSupport.RollbackConnection(ConnectionAndTransactionHolder cth) in c:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3364
2017-08-04 00:53:17,982 (47972314) [iikoNetScheduler_QuartzSchedulerThread] ERROR - An error occurred while firing triggers 'System.Collections.Generic.List`1[Quartz.Spi.IOperableTrigger]'
Quartz.JobPersistenceException: Couldn't commit ADO.NET transaction. Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out
   --- End of inner exception stack trace ---
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest)
   at System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest)
   at System.Data.SqlClient.SqlInternalTransaction.Commit()
   at System.Data.SqlClient.SqlTransaction.Commit()
   at Quartz.Impl.AdoJobStore.JobStoreSupport.CommitConnection(ConnectionAndTransactionHolder cth, Boolean openNewTransaction) in c:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3395
   --- End of inner exception stack trace ---
   at Quartz.Impl.AdoJobStore.JobStoreSupport.CommitConnection(ConnectionAndTransactionHolder cth, Boolean openNewTransaction) in c:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3403
   at Quartz.Impl.AdoJobStore.JobStoreSupport.ExecuteInNonManagedTXLock[T](String lockName, Func`2 txCallback, Func`3 txValidator) in c:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3562
   at Quartz.Impl.AdoJobStore.JobStoreSupport.TriggersFired(IList`1 triggers) in c:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 2592
   at Quartz.Core.QuartzSchedulerThread.Run() in c:\projects\quartznet\src\Quartz\Core\QuartzSchedulerThread.cs:line 381 [See nested exception: System.Data.SqlClient.SqlException (0x80131904): Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest)
   at System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest)
   at System.Data.SqlClient.SqlInternalTransaction.Commit()
   at System.Data.SqlClient.SqlTransaction.Commit()
   at Quartz.Impl.AdoJobStore.JobStoreSupport.CommitConnection(ConnectionAndTransactionHolder cth, Boolean openNewTransaction) in c:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3395
ClientConnectionId:ac0017d3-abf7-472d-bf8f-753fbeb000be
Error Number:-2,State:0,Class:11]

So after that my job hungs in state BLOCKED, and no executing job in this moment.
And it makes me crazy, why does quartz stop my job after losing connection?
I expect that Quartz correct deals with such situations.
MySettings for StdSchedulerFactory:

            // configure Thread Pool
            properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
            properties["quartz.threadPool.makeThreadsDaemons"] = "true";
            properties["quartz.threadPool.threadCount"] = "5";
            properties["quartz.threadPool.threadPriority"] = "Normal";

            properties["quartz.scheduler.instanceName"] = schedulerInfo.Name;
            properties[StdSchedulerFactory.PropertySchedulerInterruptJobsOnShutdown] = "true";
            properties[StdSchedulerFactory.PropertySchedulerMakeSchedulerThreadDaemon] = "true;";
            // configure Job Store
            properties["quartz.jobStore.misfireThreshold"] = "60000";
                properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
                properties["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz";
                // all values in JobDataMaps will be Strings, and therefore can be stored as name-value pairs
                properties["quartz.jobStore.useProperties"] = "true";
                properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
                properties["quartz.jobStore.clustered"] = "true";
                properties["quartz.scheduler.instanceId"] = "AUTO";
                properties["quartz.scheduler.dbFailureRetryInterval"] = "60000";
                properties["quartz.jobStore.dataSource"] = "default";
                properties["quartz.dataSource.default.provider"] = "SqlServer-20";
                properties["quartz.dataSource.default.connectionString"] = schedulerInfo.ConnectionString;
                properties["quartz.dataSource.default.maxConnections"] = "10";

I create job like this:
var jobDetail =     JobBuilder.Create(jobTemplate.JobType)
                            .WithIdentity(jobTemplate.JobName, jobTemplate.GroupName)
                            .RequestRecovery(true)
                            .StoreDurably(true)
                            .Build();
        Scheduler.AddJob(jobDetail, true);
        var tb = TriggerBuilder.Create()
    .WithIdentity(jobTemplate.TriggerName, jobTemplate.GroupName)
    .ForJob(jobDetail);
    tb.WithSimpleSchedule(x => FillDefaultSimpleScheduleBuilder(x, intervalJobTemplate.Interval, intervalJobTemplate.RepeatCount));
        trigger = tb.Build();
        Scheduler.ScheduleJob(trigger);

Help-methods:
private static void FillDefaultSimpleScheduleBuilder(SimpleScheduleBuilder inputBuilder, int interval, int? repeatCount)
    {
        var builder = inputBuilder.WithIntervalInSeconds(interval);
        builder = repeatCount.HasValue ? builder.WithRepeatCount(repeatCount.Value) : builder.RepeatForever();

        // fire once immediately if misfire occurs.
        builder.WithMisfireHandlingInstructionNowWithExistingCount();
    }

A: Try to enlarge a command timeout for quartz SQL commands.
To do this, define your own SqlServerDelegate:
namespace QuartzHelper
{
    /// <summary>
    /// Wrapper around <see cref="SqlServerDelegate"/>, adjusting default command timeout.
    /// </summary>
    internal class LongTimeoutSqlServerDelegate : SqlServerDelegate
    {
        private readonly int quartzCommandTimeoutSeconds = 100;

        public override System.Data.IDbCommand PrepareCommand(ConnectionAndTransactionHolder cth, string commandText)
        {
            var command = base.PrepareCommand(cth, commandText);
            command.CommandTimeout = quartzCommandTimeoutSeconds;
            return command;
        }
    }
}

...and use it when creating StdSchedulerFactory instead default "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz":
properties["quartz.jobStore.driverDelegateType"] = "QuartzHelper.LongTimeoutSqlServerDelegate";

redpajama_set_name: RedPajamaStackExchange


TOWNHOUSE-STYLE 2-level condo in prestigious Nautica South! Wonderful location on South Dyke Trail, giving easy access for biking, running & peaceful walks with your dog. This East/South-facing corner unit has good outdoor space with a patio and fenced yard for dining, gardening, enjoying a cool drink on summer evenings. Lots of space here for your family - 3 Bedrooms + Den/Office (3rd BR makes a great nursery). Updates include: hardwood floors, gorgeous California Shutters on Main floor; newer Master Ensuite bathroom with quartz counters; new vanity & fixtures, lighting & linen tower. Gas Fireplace, Security System. BONUS: 50sq.ft. of adjacent Storage (owned). Extensive Building Renovations in 2015: new Exterior vinyl & Hardiplank siding (entire bldg.), new windows & doors & balconies. New Building interior décor.
Nautica South 3 bedroom 1,331 sq.ft.


text:
Q: event.target not giving desired output My code is

A

Now when i click on div id "hello" it is alerting null as it is taking the id of center div but i want the id of outer div.How can this be achieved?

A: Because the target was the innermost div
try this instead:
event.target.parentNode.id

A: Try changing your code slightly:

A

A: use event.target.parentNode.id

A: You should bind the event to the div you are interested in. In your case, you should bind it to $('#hello')
If you have multiple divs you want to have that event binded, add a class to them, and bind the mousedown event to that class, and in your callback function check the event.target's id.


text:
package com.google.jplurk_oauth.module;

import org.json.JSONObject;

import com.google.jplurk_oauth.skeleton.AbstractModule;
import com.google.jplurk_oauth.skeleton.Args;
import com.google.jplurk_oauth.skeleton.HttpMethod;
import com.google.jplurk_oauth.skeleton.RequestException;

public class Profile extends AbstractModule {

    @Override
    protected String getModulePath() {
        return "/APP/Profile";
    }

    /**
     * Returns data that's private for the current user.
     *
This can be used to construct a profile and render a timeline of the latest plurks.

     * @return Returns a JSON object with a lot of information that can be used to construct a user's own profile and timeline.
     * @throws RequestException
     */
    public JSONObject getOwnProfile() throws RequestException {
        return requestBy("getOwnProfile").withoutArgs()
            .in(HttpMethod.GET).thenJsonObject();
    }

    /**
     * Fetches public information such as a user's public plurks and basic information.
     *
Fetches also if the current user is following the user, are friends with or is a fan.

     * @param userId The user_id of the public profile. Can be integer (like 34) or nick name (like amix).
     * @return Returns a JSON object with a lot of information that can be used to construct a user's public profile and timeline.
     * @throws RequestException
     */
    public JSONObject getPublicProfile(Long userId) throws RequestException {
        return requestBy("getPublicProfile")
            .with(new Args().add("user_id", userId))
            .in(HttpMethod.GET).thenJsonObject();
    }

    /**
     * Fetches public information such as a user's public plurks and basic information.
     *
Fetches also if the current user is following the user, are friends with or is a fan.

     * @param userId The user_id of the public profile. Can be integer (like 34) or nick name (like amix).
     * @return Returns a JSON object with a lot of information that can be used to construct a user's public profile and timeline.
     * @throws RequestException
     */
    public JSONObject getPublicProfile(String userId) throws RequestException {
        return requestBy("getPublicProfile")
            .with(new Args().add("user_id", userId))
            .in(HttpMethod.GET).thenJsonObject();
    }

}

redpajama_set_name: RedPajamaGithub


I understand that you need to be heard. I understand that you need answers.
I also know that women today need more time, space and playfulness in their lives.
What if you could have the time space, answers, results in a playful way?
What if it wasn't really hard?
I'm excited to go on this journey with you.
Here you are - feeling fat, tired, hormonal and stressed out.
The last thing you need is another chore...so I have made working with me SUPER SIMPLE (I'm a busy mum too).
I value your time (and mine).
I want you to feel supported and basically, have your hand held through this process.
Once you click on the link, you will be guided through the process of paying and booking your consultation time.
1. Choose your preferred package.
2. Choose a date and time that suits you, pay and fill in the intake form.
3. If you have any pathology results or blood test results, please upload them (if it also a good idea to call your GP/specialist to request copies - pathology test analysis is part of your service).
4. Be ready at your chosen time with a cuppa, earphones and a charged phone (I will video call you).
5. After the consultation, your treatment plan is emailed to you (diet, lifestyle and and prescription advice), as well as your follow up appointment details.
6. A link to order your prescription will be sent to you (this could be herbs, foods, flower essences or nutritional supplements).
So now its time to get started!
I am so excited to be able to help you balance those hormones, boost energy levels, reduce your waist line and give you back the 'pep in your step' that you used to have, but somehow lost in your busy life.